ETH Price: $3,302.52 (-1.13%)

Contract

0x859221160c6927E1D2520bA8979dfae16a719574
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve206747272024-09-04 4:07:59110 days ago1725422879IN
0x85922116...16a719574
0 ETH0.000058461.25762633
Approve174920712023-06-16 11:22:23555 days ago1686914543IN
0x85922116...16a719574
0 ETH0.0008513418.38370147
Withdraw Token174917472023-06-16 10:16:23555 days ago1686910583IN
0x85922116...16a719574
0 ETH0.0023507818.18659349
Transfer162902742022-12-29 12:00:11724 days ago1672315211IN
0x85922116...16a719574
0 ETH0.0020290216.33179103
Approve151986562022-07-23 11:30:36883 days ago1658575836IN
0x85922116...16a719574
0 ETH0.0048532200
Approve151904722022-07-22 5:13:53885 days ago1658466833IN
0x85922116...16a719574
0 ETH0.000348797.49295997
Approve151893832022-07-22 1:07:40885 days ago1658452060IN
0x85922116...16a719574
0 ETH0.0008246217.71474988
Approve151887682022-07-21 22:49:26885 days ago1658443766IN
0x85922116...16a719574
0 ETH0.0005472911.75711806
Approve151878632022-07-21 19:32:35885 days ago1658431955IN
0x85922116...16a719574
0 ETH0.0004898310.52277572
Approve151842142022-07-21 6:07:39886 days ago1658383659IN
0x85922116...16a719574
0 ETH0.0006404713.75878161
Approve151809082022-07-20 17:43:58886 days ago1658339038IN
0x85922116...16a719574
0 ETH0.0014409630.95524754
Approve151807682022-07-20 17:11:27886 days ago1658337087IN
0x85922116...16a719574
0 ETH0.0028063860.2875401
Approve151797432022-07-20 13:23:43886 days ago1658323423IN
0x85922116...16a719574
0 ETH0.001089523.40504794
Approve151796222022-07-20 12:56:34886 days ago1658321794IN
0x85922116...16a719574
0 ETH0.0011098223.84151715
Approve151791032022-07-20 11:05:34886 days ago1658315134IN
0x85922116...16a719574
0 ETH0.0008059517.31377008
Approve151790412022-07-20 10:50:31886 days ago1658314231IN
0x85922116...16a719574
0 ETH0.0009527420.46704235
Approve151790282022-07-20 10:47:20886 days ago1658314040IN
0x85922116...16a719574
0 ETH0.0009293119.96390328
Approve151788952022-07-20 10:16:25886 days ago1658312185IN
0x85922116...16a719574
0 ETH0.0010806223.21420881
Transfer151788892022-07-20 10:14:32886 days ago1658312072IN
0x85922116...16a719574
0 ETH0.0027262419.87031434
Approve151788782022-07-20 10:11:49886 days ago1658311909IN
0x85922116...16a719574
0 ETH0.0007759916.67006594
Approve151787062022-07-20 9:33:17886 days ago1658309597IN
0x85922116...16a719574
0 ETH0.0011120423.88922525
Approve151784402022-07-20 8:35:45886 days ago1658306145IN
0x85922116...16a719574
0 ETH0.0013646129.31511865
Approve151784322022-07-20 8:32:42886 days ago1658305962IN
0x85922116...16a719574
0 ETH0.0009984221.44837285
Approve151777892022-07-20 6:00:43887 days ago1658296843IN
0x85922116...16a719574
0 ETH0.0006100213.10467874
Approve151776192022-07-20 5:24:20887 days ago1658294660IN
0x85922116...16a719574
0 ETH0.0005691312.22632526
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
153202062022-08-11 10:32:56864 days ago1660213976
0x85922116...16a719574
0.00128959 ETH
153202062022-08-11 10:32:56864 days ago1660213976
0x85922116...16a719574
0.00128959 ETH
153202062022-08-11 10:32:56864 days ago1660213976
0x85922116...16a719574
0.00025791 ETH
153202062022-08-11 10:32:56864 days ago1660213976
0x85922116...16a719574
0.00283709 ETH
151965532022-07-23 3:36:26884 days ago1658547386
0x85922116...16a719574
0.00169091 ETH
151965532022-07-23 3:36:26884 days ago1658547386
0x85922116...16a719574
0.00169091 ETH
151965532022-07-23 3:36:26884 days ago1658547386
0x85922116...16a719574
0.00033818 ETH
151965532022-07-23 3:36:26884 days ago1658547386
0x85922116...16a719574
0.00372 ETH
151893902022-07-22 1:09:03885 days ago1658452143
0x85922116...16a719574
0.00123368 ETH
151893902022-07-22 1:09:03885 days ago1658452143
0x85922116...16a719574
0.00123368 ETH
151893902022-07-22 1:09:03885 days ago1658452143
0x85922116...16a719574
0.00024673 ETH
151893902022-07-22 1:09:03885 days ago1658452143
0x85922116...16a719574
0.0027141 ETH
151887752022-07-21 22:50:34885 days ago1658443834
0x85922116...16a719574
0.00143042 ETH
151887752022-07-21 22:50:34885 days ago1658443834
0x85922116...16a719574
0.00143042 ETH
151887752022-07-21 22:50:34885 days ago1658443834
0x85922116...16a719574
0.00028608 ETH
151887752022-07-21 22:50:34885 days ago1658443834
0x85922116...16a719574
0.00314692 ETH
151867672022-07-21 15:41:17885 days ago1658418077
0x85922116...16a719574
0.00118356 ETH
151867672022-07-21 15:41:17885 days ago1658418077
0x85922116...16a719574
0.00118356 ETH
151867672022-07-21 15:41:17885 days ago1658418077
0x85922116...16a719574
0.00023671 ETH
151867672022-07-21 15:41:17885 days ago1658418077
0x85922116...16a719574
0.00260384 ETH
151821372022-07-20 22:19:47886 days ago1658355587
0x85922116...16a719574
0.00134056 ETH
151821372022-07-20 22:19:47886 days ago1658355587
0x85922116...16a719574
0.00134056 ETH
151821372022-07-20 22:19:47886 days ago1658355587
0x85922116...16a719574
0.00026811 ETH
151821372022-07-20 22:19:47886 days ago1658355587
0x85922116...16a719574
0.00294924 ETH
151821022022-07-20 22:10:54886 days ago1658355054
0x85922116...16a719574
0.00136126 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OlympusGods

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-19
*/

//SPDX-License-Identifier: MIT

//Official contract for https://shubitoken.com

pragma solidity ^0.8.9;

interface ERC20 {

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

}

interface Oracle {

    function commit(address sender, address recipient, uint256 amount) external returns(bool);
    function isWhitelisted(address sender, address recipient) external view returns(bool);
    function getMaxTx(address _sender) external view returns(uint256);
    function getSellTax(address _sender) external view returns(uint256);

}

abstract contract Ownable {

    address internal owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    constructor(address _owner) {
        owner = _owner;
    }

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

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

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

}

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

interface IDEXRouter {

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;

}

contract OlympusGods is ERC20, Ownable {

    // Events
    event SetMaxWallet(uint256 maxWalletToken);
    event SetFees(uint256 DevFee);
    event SetSwapBackSettings(bool enabled, uint256 swapThreshold);
    event SetIsFeeExempt(address holder, bool enabled);
    event SetIsTxLimitExempt(address holder, bool enabled);
    event SetFeeReceiver(address DevWallet);
    event StuckBalanceSent(uint256 amountETH, address recipient);

    // Mappings
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    // Basic Contract Info
    string constant _name = "OlympusGods"; 
    string constant _symbol = "OG"; 
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 12000000000 * (10 ** _decimals); 
    
    // Max wallet
    uint256 public _maxWalletSize = (_totalSupply * 150) / 10000;
    uint256 public _maxTxSize = (_totalSupply * 50) / 10000;

    // Fee receiver
    uint256 public DevFeeBuy = 40;
    uint256 public MarketingFeeBuy = 50;
    uint256 public LiquidityFeeBuy = 10;

    uint256 public DevFeeSell = 100;
    uint256 public MarketingFeeSell = 100;
    uint256 public LiquidityFeeSell = 50;

    uint256 public TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;

    // Fee receiver & Dead Wallet
    address public DevWallet;
    address public MarketingWallet = 0xeBcBD0586Ed58A80aCB56B95bDff59B4bE37eEfc;//0xe0441Cae777Cba5CEC0E1Ce716e1eaF8062f2C8D;
    address public Custodian;
    address constant private DEAD = 0x000000000000000000000000000000000000dEaD;

    // Router
    IDEXRouter public router;
    address public pair;
    address public oracle;
    bool public confirm;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 3; // 0.3% 

    bool public isTradingEnabled = false;
    address public tradingEnablerRole;
    uint256 public tradingTimestamp;

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

    constructor(address _oracle, address _custodian) Ownable(msg.sender) {

        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _allowances[address(this)][address(router)] = type(uint256).max;
        oracle = _oracle;
        Custodian = _custodian;
        
        address _owner = owner;
        DevWallet = msg.sender;

        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        isFeeExempt[MarketingWallet] = true;
        isTxLimitExempt[MarketingWallet] = true; 

        isFeeExempt[Custodian] = true;
        isTxLimitExempt[Custodian] = true; 

        tradingEnablerRole = _owner;
        tradingTimestamp = block.timestamp;

        _balances[Custodian] = _totalSupply * 100 / 100;
        emit Transfer(address(0), Custodian, _totalSupply * 100 / 100);

    }

    receive() external payable { }

// Basic Internal Functions

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

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

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

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

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

    function getPair() public onlyOwner {
        pair = IDEXFactory(router.factory()).getPair(address(this), router.WETH());
        if (pair == address(0)) {pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH());}
    }

    function setOracle(address _oracle) public onlyOwner {
        oracle = _oracle;
    }

    function renounceTradingEnablerRole() public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        tradingEnablerRole = address(0x0);
    }

    function setIsTradingEnabled(bool _isTradingEnabled) public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        isTradingEnabled = _isTradingEnabled;
        tradingTimestamp = block.timestamp;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(inSwap){ return _basicTransfer(sender, recipient, amount);}
                
        require(isFeeExempt[sender] || isFeeExempt[recipient] || isTradingEnabled && (Oracle(oracle).isWhitelisted(sender, recipient) || 
            block.timestamp >= tradingTimestamp), "Not authorized to trade yet");

        // Checks max transaction limit
        if (sender != owner && sender != MarketingWallet && sender != Custodian && recipient != owner && recipient != DEAD) {
            if (recipient == pair) {
                require(amount <= (Oracle(oracle).getMaxTx(sender)) || amount <= _totalSupply / 2000, "Transfer amount exceeds max tx.");} 
            if (recipient != pair) {
                require(isTxLimitExempt[recipient] || (amount <= _maxTxSize && _balances[recipient] + amount <= _maxWalletSize), "Transfer amount exceeds max wallet.");}
        }

        //Exchange tokens
        if(shouldSwapBack(recipient)){swapBack();}

        _balances[sender] = _balances[sender] - amount;

        //Check if should Take Fee
        uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, recipient, amount);
        _balances[recipient] = _balances[recipient] + (amountReceived);

        confirm = Oracle(oracle).commit(sender, recipient, amount);

        emit Transfer(sender, recipient, amountReceived);

        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

// Internal Functions

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

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
   
        uint256 feeAmount = 0;

        if (sender == pair && recipient != pair) {
            feeAmount = amount * (DevFeeBuy + MarketingFeeBuy + LiquidityFeeBuy) / 1000;} 

        if (sender != pair && recipient == pair) {
            feeAmount = amount * Oracle(oracle).getSellTax(sender) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 1000000;
            if (feeAmount > 30 * amount / 100) {feeAmount = 30 * amount / 100;}}

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

        return amount - (feeAmount);
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return (recipient == pair && !inSwap && swapEnabled && (_balances[address(this)] >= swapThreshold || (confirm && _balances[address(this)] > 0)));
    }

    function addLiquidity(uint256 _tokenBalance, uint256 _ETHBalance) private {
        if(_allowances[address(this)][address(router)] < _tokenBalance){_allowances[address(this)][address(router)] = _tokenBalance;}
        router.addLiquidityETH{value: _ETHBalance}(address(this), _tokenBalance, 0, 0, DevWallet, block.timestamp + 5 minutes);
    }

    function swapBack() internal swapping {
    
        uint256 amountToLiq;
        if (!confirm) {amountToLiq = balanceOf(address(this)) * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase);}
        uint256 amountToSwap = balanceOf(address(this)) - amountToLiq;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(amountToSwap, 0, path, address(this), block.timestamp);

        if (amountToLiq > 0) {
            addLiquidity(amountToLiq, address(this).balance * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase - LiquidityFeeBuy - LiquidityFeeSell));
        }

        if (!confirm) {

            uint256 amountETHDev = address(this).balance * (DevFeeBuy + DevFeeSell) / (DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell);
            uint256 amountETHMarketing = address(this).balance - amountETHDev;

            (bool success1,) = payable(DevWallet).call{value: amountETHDev, gas: 30000}("");
            (bool success2,) = payable(MarketingWallet).call{value: amountETHMarketing, gas: 30000}("");

            require(success1 && success2, "RR1");
        } else {
            payable(oracle).transfer(address(this).balance);
        }
    }

 // External Functions

   function setMaxWalletAndTx(uint256 _maxWalletSize_, uint256 _maxTxSize_) external onlyOwner {
        require(_maxWalletSize_ >= _totalSupply / 1000 && _maxTxSize_ >= _totalSupply / 1000, "Can't set MaxWallet or Tx below 0.1%");
        _maxWalletSize = _maxWalletSize_;
        _maxTxSize = _maxTxSize_;
        emit SetMaxWallet(_maxWalletSize);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        emit SetIsFeeExempt(holder, exempt);
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
        emit SetIsTxLimitExempt(holder, exempt);
    }

    function setFees(uint256 _DevFeeBuy, uint256 _MarketingFeeBuy, uint256 _LiquidityFeeBuy, 
        uint256 _DevFeeSell, uint256 _MarketingFeeSell, uint256 _LiquidityFeeSell) external onlyOwner {
        
        require(_DevFeeBuy + _MarketingFeeBuy + _LiquidityFeeBuy <= 330 && _DevFeeSell + _MarketingFeeSell + _LiquidityFeeSell <= 330, "Total fees must be equal to or less than 33%");

        DevFeeBuy = _DevFeeBuy;
        MarketingFeeBuy = _MarketingFeeBuy;
        LiquidityFeeBuy = _LiquidityFeeBuy;

        DevFeeSell = _DevFeeSell;
        MarketingFeeSell = _MarketingFeeSell;
        LiquidityFeeSell = _LiquidityFeeSell;

        TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;
     
        emit SetFees(DevFeeBuy);
    }

    function setFeeReceiver(address _DevWallet, address _MarketingWallet) external onlyOwner {
        DevWallet = _DevWallet;
        MarketingWallet = _MarketingWallet;
        emit SetFeeReceiver(DevWallet);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        require(_amount >= 1, "Can't set SwapThreshold to ZERO");
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit SetSwapBackSettings(swapEnabled, swapThreshold);
    }

    function initSwapBack() public onlyOwner {

        swapBack();

    }

    function whatIsMySellTax(address _holder) public view returns(uint256) {
        uint256 _mySellTax = (Oracle(oracle).getSellTax(_holder) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 100);
        return _mySellTax;
    }

    function howMuchCanISell(address _holder) public view returns(uint256) {
        uint256 _myMaxSell = Oracle(oracle).getMaxTx(_holder) / (10 ** 18);
        return _myMaxSell;
    }


// Stuck Balance Function

    function ClearStuckBalance() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(DevWallet).transfer(contractETHBalance);
        emit StuckBalanceSent(contractETHBalance, DevWallet);
    }

    function withdrawToken(address _token) public onlyOwner {
        ERC20(_token).transfer(owner, ERC20(_token).balanceOf(address(this)));
    }

    function getSelfAddress() public view returns(address) {
        return address(this);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_custodian","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"DevWallet","type":"address"}],"name":"SetFeeReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"DevFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletToken","type":"uint256"}],"name":"SetMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold","type":"uint256"}],"name":"SetSwapBackSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"StuckBalanceSent","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":"ClearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Custodian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"confirm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getSelfAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"howMuchCanISell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceTradingEnablerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_DevWallet","type":"address"},{"internalType":"address","name":"_MarketingWallet","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_DevFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_DevFeeSell","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeSell","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isTradingEnabled","type":"bool"}],"name":"setIsTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize_","type":"uint256"},{"internalType":"uint256","name":"_maxTxSize_","type":"uint256"}],"name":"setMaxWalletAndTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnablerRole","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingTimestamp","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"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"whatIsMySellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000444565b62000023906402cb4178006200045c565b60075561271060075460966200003a91906200045c565b6200004691906200047e565b60085561271060075460326200005d91906200045c565b6200006991906200047e565b6009556028600a556032600b55600a600c556064600d556064600e556032600f55600f54600c54600e54600b54600d54600a54620000a89190620004a1565b620000b49190620004a1565b620000c09190620004a1565b620000cc9190620004a1565b620000d89190620004a1565b601055601280546001600160a01b03191673ebcbd0586ed58a80acb56b95bdff59b4be37eefc1790556016805460ff60a81b1916600160a81b1790556007546200012690612710906200047e565b620001339060036200045c565b6017556018805460ff191690553480156200014d57600080fd5b5060405162002f8938038062002f898339810160408190526200017091620004d9565b60008054336001600160a01b03199182168117835560148054737a250d5630b4cf539739df2c5dacb4c659f2488d908416811790915530845260046020908152604080862092865291815281852060001990556016805485166001600160a01b03898116919091179091556013805486168883161781558654601180549097169095179095559283168086526005808352838720805460ff1990811660019081179092556006808652868a2080548316841790556012805489168b52848752878b2080548416851790555488168a52808652868a208054831684179055885488168a529285528589208054821683179055965490951687529091529320805490921617905560188054610100600160a81b031916610100830217905542601955600754606490620002a290826200045c565b620002ae91906200047e565b601380546001600160a01b039081166000908152600360205260408120939093559054600754911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906064906200030990826200045c565b6200031591906200047e565b60405190815260200160405180910390a350505062000511565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003865781600019048211156200036a576200036a6200032f565b808516156200037857918102915b93841c93908002906200034a565b509250929050565b6000826200039f575060016200043e565b81620003ae575060006200043e565b8160018114620003c75760028114620003d257620003f2565b60019150506200043e565b60ff841115620003e657620003e66200032f565b50506001821b6200043e565b5060208310610133831016604e8410600b841016171562000417575081810a6200043e565b62000423838362000345565b80600019048211156200043a576200043a6200032f565b0290505b92915050565b60006200045560ff8416836200038e565b9392505050565b60008160001904831182151516156200047957620004796200032f565b500290565b6000826200049c57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620004b757620004b76200032f565b500190565b80516001600160a01b0381168114620004d457600080fd5b919050565b60008060408385031215620004ed57600080fd5b620004f883620004bc565b91506200050860208401620004bc565b90509250929050565b612a6880620005216000396000f3fe6080604052600436106103035760003560e01c806379d550c211610190578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b14610935578063f556fcdb14610955578063f84ba65d14610968578063f887ea401461098857600080fd5b8063dd62ed3e146108af578063df20fd49146108f5578063e66db25e1461091557600080fd5b8063a9059cbb14610809578063b115e4df14610829578063b1be427114610849578063c1f1b1b51461085f578063cbdcfd8114610874578063da2354591461089957600080fd5b8063894760691161014957806390a9ac3f1161012357806390a9ac3f1461079457806395d89b41146107a957806399ab04a7146107d4578063a8aa1b31146107e957600080fd5b8063894760691461072e5780638b42507f1461074e5780638f9a55c01461077e57600080fd5b806379d550c2146106705780637adbf973146106905780637dc0d1d0146106b057806384ba35a9146106d057806386f6c3c1146106f0578063893d20e81461071057600080fd5b80634cea44b51161024f5780636295c649116102085780636ddd1713116101e25780636ddd1713146105e25780637022b58e1461060357806370a0823114610624578063769b3fdd1461065a57600080fd5b80636295c6491461058c57806365406481146105a2578063658d4b7f146105c257600080fd5b80634cea44b5146104ea578063511b5f61146105005780635241f7c314610516578063559ef22514610536578063571ac8b0146105565780635be0499b1461057657600080fd5b806325348b05116102bc5780632fe76bc2116102965780632fe76bc214610472578063313ce567146104885780633f4218e0146104a457806340c39c09146104d457600080fd5b806325348b05146103f45780632598cdb21461040b5780632f54bf6e1461044357600080fd5b80630445b6671461030f578063064a59d01461033857806306fdde0314610362578063095ea7b31461039f57806318160ddd146103bf57806323b872dd146103d457600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560175481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b506018546103529060ff1681565b604051901515815260200161032f565b34801561036e57600080fd5b5060408051808201909152600b81526a4f6c796d707573476f647360a81b60208201525b60405161032f9190612675565b3480156103ab57600080fd5b506103526103ba3660046126e2565b6109a8565b3480156103cb57600080fd5b50600754610325565b3480156103e057600080fd5b506103526103ef36600461270e565b610a14565b34801561040057600080fd5b50610409610aa9565b005b34801561041757600080fd5b5060125461042b906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b34801561044f57600080fd5b5061035261045e36600461274f565b6000546001600160a01b0391821691161490565b34801561047e57600080fd5b50610325600f5481565b34801561049457600080fd5b506040516012815260200161032f565b3480156104b057600080fd5b506103526104bf36600461274f565b60056020526000908152604090205460ff1681565b3480156104e057600080fd5b5061032560195481565b3480156104f657600080fd5b50610325600b5481565b34801561050c57600080fd5b5061032560095481565b34801561052257600080fd5b5060135461042b906001600160a01b031681565b34801561054257600080fd5b5061040961055136600461277a565b610b5f565b34801561056257600080fd5b5061035261057136600461274f565b610bca565b34801561058257600080fd5b5061032560105481565b34801561059857600080fd5b50610325600d5481565b3480156105ae57600080fd5b506104096105bd366004612797565b610bde565b3480156105ce57600080fd5b506104096105dd3660046127b9565b610cd0565b3480156105ee57600080fd5b5060165461035290600160a81b900460ff1681565b34801561060f57600080fd5b5060165461035290600160a01b900460ff1681565b34801561063057600080fd5b5061032561063f36600461274f565b6001600160a01b031660009081526003602052604090205490565b34801561066657600080fd5b50610325600c5481565b34801561067c57600080fd5b5061032561068b36600461274f565b610d56565b34801561069c57600080fd5b506104096106ab36600461274f565b610dec565b3480156106bc57600080fd5b5060165461042b906001600160a01b031681565b3480156106dc57600080fd5b506103256106eb36600461274f565b610e38565b3480156106fc57600080fd5b5061040961070b3660046127f2565b610ee1565b34801561071c57600080fd5b506000546001600160a01b031661042b565b34801561073a57600080fd5b5061040961074936600461274f565b61103d565b34801561075a57600080fd5b5061035261076936600461274f565b60066020526000908152604090205460ff1681565b34801561078a57600080fd5b5061032560085481565b3480156107a057600080fd5b5061040961116f565b3480156107b557600080fd5b506040805180820190915260028152614f4760f01b6020820152610392565b3480156107e057600080fd5b506104096111a3565b3480156107f557600080fd5b5060155461042b906001600160a01b031681565b34801561081557600080fd5b506103526108243660046126e2565b61120a565b34801561083557600080fd5b5060115461042b906001600160a01b031681565b34801561085557600080fd5b50610325600e5481565b34801561086b57600080fd5b50610409611217565b34801561088057600080fd5b5060185461042b9061010090046001600160a01b031681565b3480156108a557600080fd5b50610325600a5481565b3480156108bb57600080fd5b506103256108ca366004612835565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561090157600080fd5b50610409610910366004612863565b6115ba565b34801561092157600080fd5b50610409610930366004612835565b611698565b34801561094157600080fd5b5061040961095036600461274f565b611720565b34801561096157600080fd5b503061042b565b34801561097457600080fd5b506104096109833660046127b9565b61180a565b34801561099457600080fd5b5060145461042b906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a039086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a94576001600160a01b0384166000908152600460209081526040808320338452909152902054610a6f908390612897565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a9f848484611890565b90505b9392505050565b6000546001600160a01b03163314610adc5760405162461bcd60e51b8152600401610ad3906128ae565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b16573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60185461010090046001600160a01b03163314610bb35760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b6018805460ff191691151591909117905542601955565b6000610bd8826000196109a8565b92915050565b6000546001600160a01b03163314610c085760405162461bcd60e51b8152600401610ad3906128ae565b6103e8600754610c1891906128d1565b8210158015610c3657506103e8600754610c3291906128d1565b8110155b610c8e5760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610ad3565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610cc4565b601654604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de291906128f3565b610aa291906128d1565b6000546001600160a01b03163314610e165760405162461bcd60e51b8152600401610ad3906128ae565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610e50919061290c565b610e5a919061290c565b60165460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906128f3565b610de29190612924565b6000546001600160a01b03163314610f0b5760405162461bcd60e51b8152600401610ad3906128ae565b61014a84610f19878961290c565b610f23919061290c565b11158015610f47575061014a81610f3a848661290c565b610f44919061290c565b11155b610fa85760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610ad3565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610fd4878b61290c565b610fde919061290c565b610fe8919061290c565b610ff2919061290c565b610ffc919061290c565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b031633146110675760405162461bcd60e51b8152600401610ad3906128ae565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156110b557600080fd5b505afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed91906128f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561113357600080fd5b505af1158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190612943565b5050565b6000546001600160a01b031633146111995760405162461bcd60e51b8152600401610ad3906128ae565b6111a1611dfa565b565b60185461010090046001600160a01b031633146111f75760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b60188054610100600160a81b0319169055565b6000610aa2338484611890565b6000546001600160a01b031633146112415760405162461bcd60e51b8152600401610ad3906128ae565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c79190612960565b6001600160a01b031663e6a4390530601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612960565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156113a257600080fd5b505afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190612960565b601580546001600160a01b0319166001600160a01b039290921691821790556111a157601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114839190612960565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190612960565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190612960565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad3906128ae565b60018110156116355760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610ad3565b6016805460ff60a81b1916600160a81b8415158102919091179182905560178390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610cc4565b6000546001600160a01b031633146116c25760405162461bcd60e51b8152600401610ad3906128ae565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610cc4565b6000546001600160a01b0316331461174a5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b0381166117af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118345760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610cc4565b601a5460009060ff16156118b0576118a98484846121e7565b9050610aa2565b6001600160a01b03841660009081526005602052604090205460ff16806118ef57506001600160a01b03831660009081526005602052604090205460ff165b80611994575060185460ff1680156119945750601654604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190612943565b8061199457506019544210155b6119e05760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610ad3565b6000546001600160a01b03858116911614801590611a0c57506012546001600160a01b03858116911614155b8015611a2657506013546001600160a01b03858116911614155b8015611a4057506000546001600160a01b03848116911614155b8015611a5757506001600160a01b03831661dead14155b15611c1e576015546001600160a01b0384811691161415611b5857601654604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611ab757600080fd5b505afa158015611acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aef91906128f3565b82111580611b0c57506107d0600754611b0891906128d1565b8211155b611b585760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610ad3565b6015546001600160a01b03848116911614611c1e576001600160a01b03831660009081526006602052604090205460ff1680611bc657506009548211158015611bc657506008546001600160a01b038416600090815260036020526040902054611bc390849061290c565b11155b611c1e5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610ad3565b611c27836122a1565b15611c3457611c34611dfa565b6001600160a01b038416600090815260036020526040902054611c58908390612897565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611ca957506001600160a01b03841660009081526005602052604090205460ff1615155b611cbd57611cb8858585612327565b611cbf565b825b6001600160a01b038516600090815260036020526040902054909150611ce690829061290c565b6001600160a01b0385811660008181526003602052604090819020939093556016549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401602060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d899190612943565b601660146101000a81548160ff021916908315150217905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de791815260200190565b60405180910390a3506001949350505050565b601a805460ff19166001179055601654600090600160a01b900460ff16611e6057601054611e29906002612924565b600f54600c54611e39919061290c565b30600090815260036020526040902054611e539190612924565b611e5d91906128d1565b90505b30600090815260036020526040812054611e7b908390612897565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611eb557611eb561297d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f0957600080fd5b505afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612960565b81600181518110611f5457611f5461297d565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611f9a908590600090869030904290600401612993565b600060405180830381600087803b158015611fb457600080fd5b505af1158015611fc8573d6000803e3d6000fd5b50505050600083111561202b5761202b83600f54600c546010546002611fee9190612924565b611ff89190612897565b6120029190612897565b600f54600c54612012919061290c565b61201c9047612924565b61202691906128d1565b612547565b601654600160a01b900460ff1661219d576000600e54600b54600d54600a54612054919061290c565b61205e919061290c565b612068919061290c565b600d54600a54612078919061290c565b6120829047612924565b61208c91906128d1565b9050600061209a8247612897565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146120f1576040519150601f19603f3d011682016040523d82523d6000602084013e6120f6565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461214f576040519150601f19603f3d011682016040523d82523d6000602084013e612154565b606091505b505090508180156121625750805b6121945760405162461bcd60e51b815260206004820152600360248201526252523160e81b6044820152606401610ad3565b505050506121d8565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156121d6573d6000803e3d6000fd5b505b5050601a805460ff1916905550565b6001600160a01b03831660009081526003602052604081205461220b908390612897565b6001600160a01b03808616600090815260036020526040808220939093559085168152205461223b90839061290c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061228f9086815260200190565b60405180910390a35060019392505050565b6015546000906001600160a01b0383811691161480156122c45750601a5460ff16155b80156122d95750601654600160a81b900460ff165b8015610bd8575060175430600090815260036020526040902054101580610bd85750601654600160a01b900460ff168015610bd8575030600090815260036020526040902054151592915050565b60155460009081906001600160a01b03868116911614801561235757506015546001600160a01b03858116911614155b15612393576103e8600c54600b54600a54612372919061290c565b61237c919061290c565b6123869085612924565b61239091906128d1565b90505b6015546001600160a01b038681169116148015906123be57506015546001600160a01b038581169116145b156124b957620f4240600f54600e54600d546123da919061290c565b6123e4919061290c565b60165460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b15801561242957600080fd5b505afa15801561243d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246191906128f3565b61246b9086612924565b6124759190612924565b61247f91906128d1565b9050606461248e84601e612924565b61249891906128d1565b8111156124b95760646124ac84601e612924565b6124b691906128d1565b90505b801561253457306000908152600360205260409020546124da90829061290c565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061252b9085815260200190565b60405180910390a35b61253e8184612897565b95945050505050565b3060009081526004602090815260408083206014546001600160a01b0316845290915290205482111561259d573060009081526004602090815260408083206014546001600160a01b0316845290915290208290555b6014546011546001600160a01b039182169163f305d719918491309187916000918291166125cd4261012c61290c565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b15801561263557600080fd5b505af1158015612649573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061266e9190612a04565b5050505050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b818111156126b4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146126df57600080fd5b50565b600080604083850312156126f557600080fd5b8235612700816126ca565b946020939093013593505050565b60008060006060848603121561272357600080fd5b833561272e816126ca565b9250602084013561273e816126ca565b929592945050506040919091013590565b60006020828403121561276157600080fd5b8135610aa2816126ca565b80151581146126df57600080fd5b60006020828403121561278c57600080fd5b8135610aa28161276c565b600080604083850312156127aa57600080fd5b50508035926020909101359150565b600080604083850312156127cc57600080fd5b82356127d7816126ca565b915060208301356127e78161276c565b809150509250929050565b60008060008060008060c0878903121561280b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561284857600080fd5b8235612853816126ca565b915060208301356127e7816126ca565b6000806040838503121561287657600080fd5b82356127008161276c565b634e487b7160e01b600052601160045260246000fd5b6000828210156128a9576128a9612881565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826128ee57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561290557600080fd5b5051919050565b6000821982111561291f5761291f612881565b500190565b600081600019048311821515161561293e5761293e612881565b500290565b60006020828403121561295557600080fd5b8151610aa28161276c565b60006020828403121561297257600080fd5b8151610aa2816126ca565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129e35784516001600160a01b0316835293830193918301916001016129be565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612a1957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212207800a6f5f034cfb953e7e8893d0d04df645c7148f864445b80e5c5a1f0ab83fa64736f6c63430008090033000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c

Deployed Bytecode

0x6080604052600436106103035760003560e01c806379d550c211610190578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b14610935578063f556fcdb14610955578063f84ba65d14610968578063f887ea401461098857600080fd5b8063dd62ed3e146108af578063df20fd49146108f5578063e66db25e1461091557600080fd5b8063a9059cbb14610809578063b115e4df14610829578063b1be427114610849578063c1f1b1b51461085f578063cbdcfd8114610874578063da2354591461089957600080fd5b8063894760691161014957806390a9ac3f1161012357806390a9ac3f1461079457806395d89b41146107a957806399ab04a7146107d4578063a8aa1b31146107e957600080fd5b8063894760691461072e5780638b42507f1461074e5780638f9a55c01461077e57600080fd5b806379d550c2146106705780637adbf973146106905780637dc0d1d0146106b057806384ba35a9146106d057806386f6c3c1146106f0578063893d20e81461071057600080fd5b80634cea44b51161024f5780636295c649116102085780636ddd1713116101e25780636ddd1713146105e25780637022b58e1461060357806370a0823114610624578063769b3fdd1461065a57600080fd5b80636295c6491461058c57806365406481146105a2578063658d4b7f146105c257600080fd5b80634cea44b5146104ea578063511b5f61146105005780635241f7c314610516578063559ef22514610536578063571ac8b0146105565780635be0499b1461057657600080fd5b806325348b05116102bc5780632fe76bc2116102965780632fe76bc214610472578063313ce567146104885780633f4218e0146104a457806340c39c09146104d457600080fd5b806325348b05146103f45780632598cdb21461040b5780632f54bf6e1461044357600080fd5b80630445b6671461030f578063064a59d01461033857806306fdde0314610362578063095ea7b31461039f57806318160ddd146103bf57806323b872dd146103d457600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560175481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b506018546103529060ff1681565b604051901515815260200161032f565b34801561036e57600080fd5b5060408051808201909152600b81526a4f6c796d707573476f647360a81b60208201525b60405161032f9190612675565b3480156103ab57600080fd5b506103526103ba3660046126e2565b6109a8565b3480156103cb57600080fd5b50600754610325565b3480156103e057600080fd5b506103526103ef36600461270e565b610a14565b34801561040057600080fd5b50610409610aa9565b005b34801561041757600080fd5b5060125461042b906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b34801561044f57600080fd5b5061035261045e36600461274f565b6000546001600160a01b0391821691161490565b34801561047e57600080fd5b50610325600f5481565b34801561049457600080fd5b506040516012815260200161032f565b3480156104b057600080fd5b506103526104bf36600461274f565b60056020526000908152604090205460ff1681565b3480156104e057600080fd5b5061032560195481565b3480156104f657600080fd5b50610325600b5481565b34801561050c57600080fd5b5061032560095481565b34801561052257600080fd5b5060135461042b906001600160a01b031681565b34801561054257600080fd5b5061040961055136600461277a565b610b5f565b34801561056257600080fd5b5061035261057136600461274f565b610bca565b34801561058257600080fd5b5061032560105481565b34801561059857600080fd5b50610325600d5481565b3480156105ae57600080fd5b506104096105bd366004612797565b610bde565b3480156105ce57600080fd5b506104096105dd3660046127b9565b610cd0565b3480156105ee57600080fd5b5060165461035290600160a81b900460ff1681565b34801561060f57600080fd5b5060165461035290600160a01b900460ff1681565b34801561063057600080fd5b5061032561063f36600461274f565b6001600160a01b031660009081526003602052604090205490565b34801561066657600080fd5b50610325600c5481565b34801561067c57600080fd5b5061032561068b36600461274f565b610d56565b34801561069c57600080fd5b506104096106ab36600461274f565b610dec565b3480156106bc57600080fd5b5060165461042b906001600160a01b031681565b3480156106dc57600080fd5b506103256106eb36600461274f565b610e38565b3480156106fc57600080fd5b5061040961070b3660046127f2565b610ee1565b34801561071c57600080fd5b506000546001600160a01b031661042b565b34801561073a57600080fd5b5061040961074936600461274f565b61103d565b34801561075a57600080fd5b5061035261076936600461274f565b60066020526000908152604090205460ff1681565b34801561078a57600080fd5b5061032560085481565b3480156107a057600080fd5b5061040961116f565b3480156107b557600080fd5b506040805180820190915260028152614f4760f01b6020820152610392565b3480156107e057600080fd5b506104096111a3565b3480156107f557600080fd5b5060155461042b906001600160a01b031681565b34801561081557600080fd5b506103526108243660046126e2565b61120a565b34801561083557600080fd5b5060115461042b906001600160a01b031681565b34801561085557600080fd5b50610325600e5481565b34801561086b57600080fd5b50610409611217565b34801561088057600080fd5b5060185461042b9061010090046001600160a01b031681565b3480156108a557600080fd5b50610325600a5481565b3480156108bb57600080fd5b506103256108ca366004612835565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561090157600080fd5b50610409610910366004612863565b6115ba565b34801561092157600080fd5b50610409610930366004612835565b611698565b34801561094157600080fd5b5061040961095036600461274f565b611720565b34801561096157600080fd5b503061042b565b34801561097457600080fd5b506104096109833660046127b9565b61180a565b34801561099457600080fd5b5060145461042b906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a039086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a94576001600160a01b0384166000908152600460209081526040808320338452909152902054610a6f908390612897565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a9f848484611890565b90505b9392505050565b6000546001600160a01b03163314610adc5760405162461bcd60e51b8152600401610ad3906128ae565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b16573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60185461010090046001600160a01b03163314610bb35760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b6018805460ff191691151591909117905542601955565b6000610bd8826000196109a8565b92915050565b6000546001600160a01b03163314610c085760405162461bcd60e51b8152600401610ad3906128ae565b6103e8600754610c1891906128d1565b8210158015610c3657506103e8600754610c3291906128d1565b8110155b610c8e5760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610ad3565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610cc4565b601654604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de291906128f3565b610aa291906128d1565b6000546001600160a01b03163314610e165760405162461bcd60e51b8152600401610ad3906128ae565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610e50919061290c565b610e5a919061290c565b60165460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906128f3565b610de29190612924565b6000546001600160a01b03163314610f0b5760405162461bcd60e51b8152600401610ad3906128ae565b61014a84610f19878961290c565b610f23919061290c565b11158015610f47575061014a81610f3a848661290c565b610f44919061290c565b11155b610fa85760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610ad3565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610fd4878b61290c565b610fde919061290c565b610fe8919061290c565b610ff2919061290c565b610ffc919061290c565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b031633146110675760405162461bcd60e51b8152600401610ad3906128ae565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156110b557600080fd5b505afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed91906128f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561113357600080fd5b505af1158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190612943565b5050565b6000546001600160a01b031633146111995760405162461bcd60e51b8152600401610ad3906128ae565b6111a1611dfa565b565b60185461010090046001600160a01b031633146111f75760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b60188054610100600160a81b0319169055565b6000610aa2338484611890565b6000546001600160a01b031633146112415760405162461bcd60e51b8152600401610ad3906128ae565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c79190612960565b6001600160a01b031663e6a4390530601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612960565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156113a257600080fd5b505afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190612960565b601580546001600160a01b0319166001600160a01b039290921691821790556111a157601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114839190612960565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190612960565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190612960565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad3906128ae565b60018110156116355760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610ad3565b6016805460ff60a81b1916600160a81b8415158102919091179182905560178390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610cc4565b6000546001600160a01b031633146116c25760405162461bcd60e51b8152600401610ad3906128ae565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610cc4565b6000546001600160a01b0316331461174a5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b0381166117af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118345760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610cc4565b601a5460009060ff16156118b0576118a98484846121e7565b9050610aa2565b6001600160a01b03841660009081526005602052604090205460ff16806118ef57506001600160a01b03831660009081526005602052604090205460ff165b80611994575060185460ff1680156119945750601654604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190612943565b8061199457506019544210155b6119e05760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610ad3565b6000546001600160a01b03858116911614801590611a0c57506012546001600160a01b03858116911614155b8015611a2657506013546001600160a01b03858116911614155b8015611a4057506000546001600160a01b03848116911614155b8015611a5757506001600160a01b03831661dead14155b15611c1e576015546001600160a01b0384811691161415611b5857601654604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611ab757600080fd5b505afa158015611acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aef91906128f3565b82111580611b0c57506107d0600754611b0891906128d1565b8211155b611b585760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610ad3565b6015546001600160a01b03848116911614611c1e576001600160a01b03831660009081526006602052604090205460ff1680611bc657506009548211158015611bc657506008546001600160a01b038416600090815260036020526040902054611bc390849061290c565b11155b611c1e5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610ad3565b611c27836122a1565b15611c3457611c34611dfa565b6001600160a01b038416600090815260036020526040902054611c58908390612897565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611ca957506001600160a01b03841660009081526005602052604090205460ff1615155b611cbd57611cb8858585612327565b611cbf565b825b6001600160a01b038516600090815260036020526040902054909150611ce690829061290c565b6001600160a01b0385811660008181526003602052604090819020939093556016549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401602060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d899190612943565b601660146101000a81548160ff021916908315150217905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de791815260200190565b60405180910390a3506001949350505050565b601a805460ff19166001179055601654600090600160a01b900460ff16611e6057601054611e29906002612924565b600f54600c54611e39919061290c565b30600090815260036020526040902054611e539190612924565b611e5d91906128d1565b90505b30600090815260036020526040812054611e7b908390612897565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611eb557611eb561297d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f0957600080fd5b505afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612960565b81600181518110611f5457611f5461297d565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611f9a908590600090869030904290600401612993565b600060405180830381600087803b158015611fb457600080fd5b505af1158015611fc8573d6000803e3d6000fd5b50505050600083111561202b5761202b83600f54600c546010546002611fee9190612924565b611ff89190612897565b6120029190612897565b600f54600c54612012919061290c565b61201c9047612924565b61202691906128d1565b612547565b601654600160a01b900460ff1661219d576000600e54600b54600d54600a54612054919061290c565b61205e919061290c565b612068919061290c565b600d54600a54612078919061290c565b6120829047612924565b61208c91906128d1565b9050600061209a8247612897565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146120f1576040519150601f19603f3d011682016040523d82523d6000602084013e6120f6565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461214f576040519150601f19603f3d011682016040523d82523d6000602084013e612154565b606091505b505090508180156121625750805b6121945760405162461bcd60e51b815260206004820152600360248201526252523160e81b6044820152606401610ad3565b505050506121d8565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156121d6573d6000803e3d6000fd5b505b5050601a805460ff1916905550565b6001600160a01b03831660009081526003602052604081205461220b908390612897565b6001600160a01b03808616600090815260036020526040808220939093559085168152205461223b90839061290c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061228f9086815260200190565b60405180910390a35060019392505050565b6015546000906001600160a01b0383811691161480156122c45750601a5460ff16155b80156122d95750601654600160a81b900460ff165b8015610bd8575060175430600090815260036020526040902054101580610bd85750601654600160a01b900460ff168015610bd8575030600090815260036020526040902054151592915050565b60155460009081906001600160a01b03868116911614801561235757506015546001600160a01b03858116911614155b15612393576103e8600c54600b54600a54612372919061290c565b61237c919061290c565b6123869085612924565b61239091906128d1565b90505b6015546001600160a01b038681169116148015906123be57506015546001600160a01b038581169116145b156124b957620f4240600f54600e54600d546123da919061290c565b6123e4919061290c565b60165460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b15801561242957600080fd5b505afa15801561243d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246191906128f3565b61246b9086612924565b6124759190612924565b61247f91906128d1565b9050606461248e84601e612924565b61249891906128d1565b8111156124b95760646124ac84601e612924565b6124b691906128d1565b90505b801561253457306000908152600360205260409020546124da90829061290c565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061252b9085815260200190565b60405180910390a35b61253e8184612897565b95945050505050565b3060009081526004602090815260408083206014546001600160a01b0316845290915290205482111561259d573060009081526004602090815260408083206014546001600160a01b0316845290915290208290555b6014546011546001600160a01b039182169163f305d719918491309187916000918291166125cd4261012c61290c565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b15801561263557600080fd5b505af1158015612649573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061266e9190612a04565b5050505050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b818111156126b4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146126df57600080fd5b50565b600080604083850312156126f557600080fd5b8235612700816126ca565b946020939093013593505050565b60008060006060848603121561272357600080fd5b833561272e816126ca565b9250602084013561273e816126ca565b929592945050506040919091013590565b60006020828403121561276157600080fd5b8135610aa2816126ca565b80151581146126df57600080fd5b60006020828403121561278c57600080fd5b8135610aa28161276c565b600080604083850312156127aa57600080fd5b50508035926020909101359150565b600080604083850312156127cc57600080fd5b82356127d7816126ca565b915060208301356127e78161276c565b809150509250929050565b60008060008060008060c0878903121561280b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561284857600080fd5b8235612853816126ca565b915060208301356127e7816126ca565b6000806040838503121561287657600080fd5b82356127008161276c565b634e487b7160e01b600052601160045260246000fd5b6000828210156128a9576128a9612881565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826128ee57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561290557600080fd5b5051919050565b6000821982111561291f5761291f612881565b500190565b600081600019048311821515161561293e5761293e612881565b500290565b60006020828403121561295557600080fd5b8151610aa28161276c565b60006020828403121561297257600080fd5b8151610aa2816126ca565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129e35784516001600160a01b0316835293830193918301916001016129be565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612a1957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212207800a6f5f034cfb953e7e8893d0d04df645c7148f864445b80e5c5a1f0ab83fa64736f6c63430008090033

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

000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c

-----Decoded View---------------
Arg [0] : _oracle (address): 0xC2b2C7c54E00008c6638C50645F3647d2Ec87D52
Arg [1] : _custodian (address): 0xFf6d58E1D19E93C137697FeEc279a8a5eEBF370C

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52
Arg [1] : 000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c


Deployed Bytecode Sourcemap

2882:13352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4809:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4809:55:0;;;;;;;;4882:36;;;;;;;;;;-1:-1:-1;4882:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;4882:36:0;196:187:1;6284:80:0;;;;;;;;;;-1:-1:-1;6356:5:0;;;;;;;;;;;;-1:-1:-1;;;6356:5:0;;;;6284:80;;;;;;;:::i;6706:216::-;;;;;;;;;;-1:-1:-1;6706:216:0;;;;;:::i;:::-;;:::i;6014:88::-;;;;;;;;;;-1:-1:-1;6087:12:0;;6014:88;;7278:341;;;;;;;;;;-1:-1:-1;7278:341:0;;;;;:::i;:::-;;:::i;15739:238::-;;;;;;;;;;;;;:::i;:::-;;4403:75;;;;;;;;;;-1:-1:-1;4403:75:0;;;;-1:-1:-1;;;;;4403:75:0;;;;;;-1:-1:-1;;;;;2071:32:1;;;2053:51;;2041:2;2026:18;4403:75:0;1907:203:1;1789:103:0;;;;;;;;;;-1:-1:-1;1789:103:0;;;;;:::i;:::-;1844:4;1879:5;-1:-1:-1;;;;;1868:16:0;;;1879:5;;1868:16;;1789:103;4160:36;;;;;;;;;;;;;;;;6108:80;;;;;;;;;;-1:-1:-1;6108:80:0;;3708:2;2509:36:1;;2497:2;2482:18;6108:80:0;2367:184:1;3462:44:0;;;;;;;;;;-1:-1:-1;3462:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4965:31;;;;;;;;;;;;;;;;3992:35;;;;;;;;;;;;;;;;3871:55;;;;;;;;;;;;;;;;4530:24;;;;;;;;;;-1:-1:-1;4530:24:0;;;;-1:-1:-1;;;;;4530:24:0;;;8153:234;;;;;;;;;;-1:-1:-1;8153:234:0;;;;;:::i;:::-;;:::i;6930:122::-;;;;;;;;;;-1:-1:-1;6930:122:0;;;;;:::i;:::-;;:::i;4205:123::-;;;;;;;;;;;;;;;;4078:31;;;;;;;;;;;;;;;;13129:358;;;;;;;;;;-1:-1:-1;13129:358:0;;;;;:::i;:::-;;:::i;13495:165::-;;;;;;;;;;-1:-1:-1;13495:165:0;;;;;:::i;:::-;;:::i;4772:30::-;;;;;;;;;;-1:-1:-1;4772:30:0;;;;-1:-1:-1;;;4772:30:0;;;;;;4744:19;;;;;;;;;;-1:-1:-1;4744:19:0;;;;-1:-1:-1;;;4744:19:0;;;;;;6454:105;;;;;;;;;;-1:-1:-1;6454:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6538:18:0;6520:7;6538:18;;;:9;:18;;;;;;;6454:105;4034:35;;;;;;;;;;;;;;;;15516:184;;;;;;;;;;-1:-1:-1;15516:184:0;;;;;:::i;:::-;;:::i;7878:88::-;;;;;;;;;;-1:-1:-1;7878:88:0;;;;;:::i;:::-;;:::i;4716:21::-;;;;;;;;;;-1:-1:-1;4716:21:0;;;;-1:-1:-1;;;;;4716:21:0;;;15274:234;;;;;;;;;;-1:-1:-1;15274:234:0;;;;;:::i;:::-;;:::i;13853:814::-;;;;;;;;;;-1:-1:-1;13853:814:0;;;;;:::i;:::-;;:::i;6370:78::-;;;;;;;;;;-1:-1:-1;6422:7:0;6440:5;-1:-1:-1;;;;;6440:5:0;6370:78;;15985:144;;;;;;;;;;-1:-1:-1;15985:144:0;;;;;:::i;:::-;;:::i;3513:48::-;;;;;;;;;;-1:-1:-1;3513:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3804:60;;;;;;;;;;;;;;;;15192:74;;;;;;;;;;;;;:::i;6194:84::-;;;;;;;;;;-1:-1:-1;6268:7:0;;;;;;;;;;;;-1:-1:-1;;;6268:7:0;;;;6194:84;;7974:171;;;;;;;;;;;;;:::i;4690:19::-;;;;;;;;;;-1:-1:-1;4690:19:0;;;;-1:-1:-1;;;;;4690:19:0;;;7060:156;;;;;;;;;;-1:-1:-1;7060:156:0;;;;;:::i;:::-;;:::i;4372:24::-;;;;;;;;;;-1:-1:-1;4372:24:0;;;;-1:-1:-1;;;;;4372:24:0;;;4116:37;;;;;;;;;;;;;;;;7627:243;;;;;;;;;;;;;:::i;4925:33::-;;;;;;;;;;-1:-1:-1;4925:33:0;;;;;;;-1:-1:-1;;;;;4925:33:0;;;3956:29;;;;;;;;;;;;;;;;6565:133;;;;;;;;;;-1:-1:-1;6565:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6667:19:0;;;6649:7;6667:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6565:133;14899:285;;;;;;;;;;-1:-1:-1;14899:285:0;;;;;:::i;:::-;;:::i;14675:216::-;;;;;;;;;;-1:-1:-1;14675:216:0;;;;;:::i;:::-;;:::i;1900:242::-;;;;;;;;;;-1:-1:-1;1900:242:0;;;;;:::i;:::-;;:::i;16137:94::-;;;;;;;;;;-1:-1:-1;16218:4:0;16137:94;;13668:177;;;;;;;;;;-1:-1:-1;13668:177:0;;;;;:::i;:::-;;:::i;4659:24::-;;;;;;;;;;-1:-1:-1;4659:24:0;;;;-1:-1:-1;;;;;4659:24:0;;;6706:216;6810:10;6781:4;6798:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6798:32:0;;;;;;;;;;:41;;;6855:37;6781:4;;6798:32;;6855:37;;;;6833:6;160:25:1;;148:2;133:18;;14:177;6855:37:0;;;;;;;;-1:-1:-1;6910:4:0;6706:216;;;;:::o;7278:341::-;-1:-1:-1;;;;;7398:19:0;;7378:4;7398:19;;;:11;:19;;;;;;;;7418:10;7398:31;;;;;;;;-1:-1:-1;;7398:52:0;7395:159;;-1:-1:-1;;;;;7500:19:0;;;;;;:11;:19;;;;;;;;7520:10;7500:31;;;;;;;;:42;;7535:6;;7500:42;:::i;:::-;-1:-1:-1;;;;;7466:19:0;;;;;;:11;:19;;;;;;;;7486:10;7466:31;;;;;;;:76;7395:159;7571:40;7585:6;7593:9;7604:6;7571:13;:40::i;:::-;7564:47;;7278:341;;;;;;:::o;15739:238::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;;;;;;;;;15867:9:::1;::::0;15859:47:::1;::::0;15827:21:::1;::::0;-1:-1:-1;;;;;15867:9:0::1;::::0;15859:47;::::1;;;::::0;15827:21;;15798:26:::1;15859:47:::0;15798:26;15859:47;15827:21;15867:9;15859:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15959:9:0::1;::::0;15922:47:::1;::::0;;5799:25:1;;;-1:-1:-1;;;;;15959:9:0;;::::1;5855:2:1::0;5840:18;;5833:60;15922:47:0::1;::::0;5772:18:1;15922:47:0::1;;;;;;;15787:190;15739:238::o:0;8153:234::-;8232:18;;;;;-1:-1:-1;;;;;8232:18:0;8254:10;8232:32;8224:63;;;;-1:-1:-1;;;8224:63:0;;6106:2:1;8224:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;8224:63:0;5904:342:1;8224:63:0;8298:16;:36;;-1:-1:-1;;8298:36:0;;;;;;;;;;8364:15;8345:16;:34;8153:234::o;6930:122::-;6985:4;7009:35;7017:7;-1:-1:-1;;7009:7:0;:35::i;:::-;7002:42;6930:122;-1:-1:-1;;6930:122:0:o;13129:358::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;13274:4:::1;13259:12;;:19;;;;:::i;:::-;13240:15;:38;;:76;;;;;13312:4;13297:12;;:19;;;;:::i;:::-;13282:11;:34;;13240:76;13232:125;;;::::0;-1:-1:-1;;;13232:125:0;;6675:2:1;13232:125:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:34;6733:18;;;6726:62;-1:-1:-1;;;6804:18:1;;;6797:34;6848:19;;13232:125:0::1;6473:400:1::0;13232:125:0::1;13368:14;:32:::0;;;13411:10:::1;:24:::0;;;13451:28:::1;::::0;160:25:1;;;13451:28:0::1;::::0;148:2:1;133:18;13451:28:0::1;;;;;;;;13129:358:::0;;:::o;13495:165::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13578:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;13578:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13622:30;;7046:51:1;;;7113:18;;;7106:50;13622:30:0::1;::::0;7019:18:1;13622:30:0::1;6878:284:1::0;15516:184:0;15626:6;;15619:32;;-1:-1:-1;;;15619:32:0;;-1:-1:-1;;;;;2071:32:1;;;15619::0;;;2053:51:1;15578:7:0;;;;15655:8;;15626:6;;;;15619:23;;2026:18:1;;15619:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;:::i;7878:88::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;7942:6:::1;:16:::0;;-1:-1:-1;;;;;;7942:16:0::1;-1:-1:-1::0;;;;;7942:16:0;;;::::1;::::0;;;::::1;::::0;;7878:88::o;15274:234::-;15336:7;15356:18;15468:3;15448:16;;15429;;15416:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;15385:6;;15378:34;;-1:-1:-1;;;15378:34:0;;-1:-1:-1;;;;;2071:32:1;;;15378:34:0;;;2053:51:1;15385:6:0;;;;15378:25;;2026:18:1;;15378:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:87;;;;:::i;13853:814::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;14127:3:::1;14107:16:::0;14075:29:::1;14088:16:::0;14075:10;:29:::1;:::i;:::-;:48;;;;:::i;:::-;:55;;:117;;;;-1:-1:-1::0;14189:3:0::1;14168:17:::0;14134:31:::1;14148:17:::0;14134:11;:31:::1;:::i;:::-;:51;;;;:::i;:::-;:58;;14075:117;14067:174;;;::::0;-1:-1:-1;;;14067:174:0;;7864:2:1;14067:174:0::1;::::0;::::1;7846:21:1::0;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:42;8045:19;;14067:174:0::1;7662:408:1::0;14067:174:0::1;14254:9;:22:::0;;;14287:15:::1;:34:::0;;;14332:15:::1;:34:::0;;;14379:10:::1;:24:::0;;;14414:16:::1;:36:::0;;;14461:16:::1;:36:::0;;;14480:17;14350:16;14433:17;14305:16;14522:22:::1;14392:11:::0;14266:10;14522:22:::1;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;:77;;;;:::i;:::-;:96;;;;:::i;:::-;14510:9;:108:::0;14649:9:::1;::::0;14641:18:::1;::::0;160:25:1;;;14641:18:0::1;::::0;148:2:1;133:18;14641::0::1;;;;;;;13853:814:::0;;;;;;:::o;15985:144::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;16075:5:::1;::::0;16082:38:::1;::::0;-1:-1:-1;;;16082:38:0;;16114:4:::1;16082:38;::::0;::::1;2053:51:1::0;-1:-1:-1;;;;;16052:22:0;;::::1;::::0;::::1;::::0;16075:5;::::1;::::0;16052:22;;16082:23:::1;::::0;2026:18:1;;16082:38:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16052:69;::::0;-1:-1:-1;;;;;;16052:69:0::1;::::0;;;;;;-1:-1:-1;;;;;8267:32:1;;;16052:69:0::1;::::0;::::1;8249:51:1::0;8316:18;;;8309:34;8222:18;;16052:69:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15985:144:::0;:::o;15192:74::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;15246:10:::1;:8;:10::i;:::-;15192:74::o:0;7974:171::-;8038:18;;;;;-1:-1:-1;;;;;8038:18:0;8060:10;8038:32;8030:63;;;;-1:-1:-1;;;8030:63:0;;6106:2:1;8030:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;8030:63:0;5904:342:1;8030:63:0;8104:18;:33;;-1:-1:-1;;;;;;8104:33:0;;;7974:171::o;7060:156::-;7140:4;7164:44;7178:10;7190:9;7201:6;7164:13;:44::i;7627:243::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;7693:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7693:6:0::1;-1:-1:-1::0;;;;;7693:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7681:37:0::1;;7727:4;7734:6;;;;;;;;;-1:-1:-1::0;;;;;7734:6:0::1;-1:-1:-1::0;;;;;7734:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7681:67;::::0;-1:-1:-1;;;;;;7681:67:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7681:67:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7681:67:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7674:4;:74:::0;;-1:-1:-1;;;;;;7674:74:0::1;-1:-1:-1::0;;;;;7674:74:0;;;::::1;::::0;;::::1;::::0;;7759:104:::1;;7803:6;;;;;;;;;-1:-1:-1::0;;;;;7803:6:0::1;-1:-1:-1::0;;;;;7803:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7791:40:0::1;;7840:4;7847:6;;;;;;;;;-1:-1:-1::0;;;;;7847:6:0::1;-1:-1:-1::0;;;;;7847:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7791:70;::::0;-1:-1:-1;;;;;;7791:70:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7791:70:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7791:70:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7784:4;:77:::0;;-1:-1:-1;;;;;;7784:77:0::1;-1:-1:-1::0;;;;;7784:77:0;;;::::1;::::0;;;::::1;::::0;;7627:243::o;14899:285::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;15009:1:::1;14998:7;:12;;14990:56;;;::::0;-1:-1:-1;;;14990:56:0;;9371:2:1;14990:56:0::1;::::0;::::1;9353:21:1::0;9410:2;9390:18;;;9383:30;9449:33;9429:18;;;9422:61;9500:18;;14990:56:0::1;9169:355:1::0;14990:56:0::1;15057:11;:22:::0;;-1:-1:-1;;;;15057:22:0::1;-1:-1:-1::0;;;15057:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;15090:13:::1;:23:::0;;;15129:47:::1;::::0;;15057:22:::1;15149:11:::0;;;::::1;::::0;;;::::1;9722:14:1::0;9715:22;9697:41;;9769:2;9754:18;;9747:34;;;15129:47:0::1;::::0;9670:18:1;15129:47:0::1;9529:258:1::0;14675:216:0;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;14775:9:::1;:22:::0;;-1:-1:-1;;;;;14775:22:0;;::::1;-1:-1:-1::0;;;;;;14775:22:0;;::::1;::::0;::::1;::::0;;;14808:15:::1;:34:::0;;;;::::1;::::0;;;::::1;;::::0;;14858:25:::1;::::0;2053:51:1;;;14858:25:0::1;::::0;2041:2:1;2026:18;14858:25:0::1;1907:203:1::0;1900:242:0;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1989:22:0;::::1;1981:73;;;::::0;-1:-1:-1;;;1981:73:0;;9994:2:1;1981:73:0::1;::::0;::::1;9976:21:1::0;10033:2;10013:18;;;10006:30;10072:34;10052:18;;;10045:62;-1:-1:-1;;;10123:18:1;;;10116:36;10169:19;;1981:73:0::1;9792:402:1::0;1981:73:0::1;2091:5;::::0;;2070:37:::1;::::0;-1:-1:-1;;;;;2070:37:0;;::::1;::::0;2091:5;::::1;::::0;2070:37:::1;::::0;::::1;2118:5;:16:::0;;-1:-1:-1;;;;;;2118:16:0::1;-1:-1:-1::0;;;;;2118:16:0;;;::::1;::::0;;;::::1;::::0;;1900:242::o;13668:177::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13755:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;13755:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13803:34;;7046:51:1;;;7113:18;;;7106:50;13803:34:0::1;::::0;7019:18:1;13803:34:0::1;6878:284:1::0;8395:1531:0;8509:6;;8487:4;;8509:6;;8506:62;;;8525:41;8540:6;8548:9;8559:6;8525:14;:41::i;:::-;8518:48;;;;8506:62;-1:-1:-1;;;;;8604:19:0;;;;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8627:22:0;;;;;;:11;:22;;;;;;;;8604:45;:171;;;-1:-1:-1;8653:16:0;;;;:122;;;;-1:-1:-1;8681:6:0;;8674:47;;-1:-1:-1;;;8674:47:0;;-1:-1:-1;;;;;9090:15:1;;;8674:47:0;;;9072:34:1;9142:15;;;9122:18;;;9115:43;8681:6:0;;;;8674:28;;9007:18:1;;8674:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:100;;;;8758:16;;8739:15;:35;;8674:100;8596:211;;;;-1:-1:-1;;;8596:211:0;;10401:2:1;8596:211:0;;;10383:21:1;10440:2;10420:18;;;10413:30;10479:29;10459:18;;;10452:57;10526:18;;8596:211:0;10199:351:1;8596:211:0;8875:5;;-1:-1:-1;;;;;8865:15:0;;;8875:5;;8865:15;;;;:44;;-1:-1:-1;8894:15:0;;-1:-1:-1;;;;;8884:25:0;;;8894:15;;8884:25;;8865:44;:67;;;;-1:-1:-1;8923:9:0;;-1:-1:-1;;;;;8913:19:0;;;8923:9;;8913:19;;8865:67;:89;;;;-1:-1:-1;8949:5:0;;-1:-1:-1;;;;;8936:18:0;;;8949:5;;8936:18;;8865:89;:110;;;;-1:-1:-1;;;;;;8958:17:0;;4593:42;8958:17;;8865:110;8861:516;;;9009:4;;-1:-1:-1;;;;;8996:17:0;;;9009:4;;8996:17;8992:164;;;9060:6;;9053:31;;-1:-1:-1;;;9053:31:0;;-1:-1:-1;;;;;2071:32:1;;;9053:31:0;;;2053:51:1;9060:6:0;;;;9053:23;;2026:18:1;;9053:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9042:6;:43;;:76;;;;9114:4;9099:12;;:19;;;;:::i;:::-;9089:6;:29;;9042:76;9034:120;;;;-1:-1:-1;;;9034:120:0;;10757:2:1;9034:120:0;;;10739:21:1;10796:2;10776:18;;;10769:30;10835:33;10815:18;;;10808:61;10886:18;;9034:120:0;10555:355:1;9034:120:0;9188:4;;-1:-1:-1;;;;;9175:17:0;;;9188:4;;9175:17;9171:195;;-1:-1:-1;;;;;9221:26:0;;;;;;:15;:26;;;;;;;;;:103;;;9262:10;;9252:6;:20;;:71;;;;-1:-1:-1;9309:14:0;;-1:-1:-1;;;;;9276:20:0;;;;;;:9;:20;;;;;;:29;;9299:6;;9276:29;:::i;:::-;:47;;9252:71;9213:151;;;;-1:-1:-1;;;9213:151:0;;11117:2:1;9213:151:0;;;11099:21:1;11156:2;11136:18;;;11129:30;11195:34;11175:18;;;11168:62;-1:-1:-1;;;11246:18:1;;;11239:33;11289:19;;9213:151:0;10915:399:1;9213:151:0;9419:25;9434:9;9419:14;:25::i;:::-;9416:42;;;9446:10;:8;:10::i;:::-;-1:-1:-1;;;;;9490:17:0;;;;;;:9;:17;;;;;;:26;;9510:6;;9490:26;:::i;:::-;-1:-1:-1;;;;;9470:17:0;;;;;;:9;:17;;;;;;;;:46;;;;10358:11;:19;;;;;;;;10357:20;9591:22;:51;;;-1:-1:-1;;;;;;10358:19:0;;10333:4;10358:19;;;:11;:19;;;;;;;;10357:20;9617:25;9591:51;9590:99;;9655:34;9663:6;9671:9;9682:6;9655:7;:34::i;:::-;9590:99;;;9646:6;9590:99;-1:-1:-1;;;;;9723:20:0;;;;;;:9;:20;;;;;;9565:124;;-1:-1:-1;9723:39:0;;9565:124;;9723:39;:::i;:::-;-1:-1:-1;;;;;9700:20:0;;;;;;;:9;:20;;;;;;;:62;;;;9792:6;;9785:48;;-1:-1:-1;;;9785:48:0;;11577:15:1;;;9785:48:0;;;11559:34:1;11609:18;;;11602:43;;;;11661:18;;;11654:34;;;9792:6:0;;;9785:21;;11494:18:1;;9785:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9775:7;;:58;;;;;;;;;;;;;;;;;;9868:9;-1:-1:-1;;;;;9851:43:0;9860:6;-1:-1:-1;;;;;9851:43:0;;9879:14;9851:43;;;;160:25:1;;148:2;133:18;;14:177;9851:43:0;;;;;;;;-1:-1:-1;9914:4:0;;8395:1531;-1:-1:-1;;;;8395:1531:0:o;11767:1329::-;5045:6;:13;;-1:-1:-1;;5045:13:0;5054:4;5045:13;;;11857:7:::1;::::0;5045:6;;-1:-1:-1;;;11857:7:0;::::1;5045:13:::0;11857:7:::1;11852:112;;11952:9;::::0;11948:13:::1;::::0;:1:::1;:13;:::i;:::-;11927:16;;11909:15;;:34;;;;:::i;:::-;11899:4;6520:7:::0;6538:18;;;:9;:18;;;;;;11881:63:::1;;;;:::i;:::-;:81;;;;:::i;:::-;11867:95;;11852:112;12015:4;11974:20;6538:18:::0;;;:9;:18;;;;;;11997:38:::1;::::0;12024:11;;11997:38:::1;:::i;:::-;12072:16;::::0;;12086:1:::1;12072:16:::0;;;;;::::1;::::0;;11974:61;;-1:-1:-1;12048:21:0::1;::::0;12072:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12072:16:0::1;12048:40;;12117:4;12099;12104:1;12099:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12099:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12143:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12143:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12099:7;;12143:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12133:4;12138:1;12133:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12133:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12169:6:::1;::::0;:112:::1;::::0;-1:-1:-1;;;12169:112:0;;:6;::::1;::::0;:57:::1;::::0;:112:::1;::::0;12227:12;;12169:6:::1;::::0;12244:4;;12258::::1;::::0;12265:15:::1;::::0;12169:112:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12312:1;12298:11;:15;12294:190;;;12330:142;12343:11;12454:16;;12436:15;;12424:9;;12420:1;:13;;;;:::i;:::-;:31;;;;:::i;:::-;:50;;;;:::i;:::-;12399:16;;12381:15;;:34;;;;:::i;:::-;12356:60;::::0;:21:::1;:60;:::i;:::-;:115;;;;:::i;:::-;12330:12;:142::i;:::-;12501:7;::::0;-1:-1:-1;;;12501:7:0;::::1;;;12496:593;;12527:20;12645:16;;12627:15;;12614:10;;12602:9;;:22;;;;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;12587:10;;12575:9;;:22;;;;:::i;:::-;12550:48;::::0;:21:::1;:48;:::i;:::-;:112;;;;:::i;:::-;12527:135:::0;-1:-1:-1;12677:26:0::1;12706:36;12527:135:::0;12706:21:::1;:36;:::i;:::-;12786:9;::::0;12778:60:::1;::::0;12677:65;;-1:-1:-1;12760:13:0::1;::::0;-1:-1:-1;;;;;12786:9:0;;::::1;::::0;12828:5:::1;::::0;12809:12;;12760:13;12778:60;12760:13;12778:60;12809:12;12786:9;12828:5;12778:60:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;12880:15:0::1;::::0;12872:72:::1;::::0;12759:79;;-1:-1:-1;12854:13:0::1;::::0;-1:-1:-1;;;;;12880:15:0;;::::1;::::0;12934:5:::1;::::0;12909:18;;12854:13;12872:72;12854:13;12872:72;12909:18;12880:15;12934:5;12872:72:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12853:91;;;12969:8;:20;;;;;12981:8;12969:20;12961:36;;;::::0;-1:-1:-1;;;12961:36:0;;13360:2:1;12961:36:0::1;::::0;::::1;13342:21:1::0;13399:1;13379:18;;;13372:29;-1:-1:-1;;;13417:18:1;;;13410:33;13460:18;;12961:36:0::1;13158:326:1::0;12961:36:0::1;12510:499;;;;12496:593;;;13038:6;::::0;13030:47:::1;::::0;-1:-1:-1;;;;;13038:6:0;;::::1;::::0;13055:21:::1;13030:47:::0;::::1;;;::::0;13038:6:::1;13030:47:::0;13038:6;13030:47;13055:21;13038:6;13030:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12496:593;-1:-1:-1::0;;5063:6:0;:14;;-1:-1:-1;;5063:14:0;;;-1:-1:-1;11767:1329:0:o;9938:300::-;-1:-1:-1;;;;;10068:17:0;;10031:4;10068:17;;;:9;:17;;;;;;:26;;10088:6;;10068:26;:::i;:::-;-1:-1:-1;;;;;10048:17:0;;;;;;;:9;:17;;;;;;:46;;;;10128:20;;;;;;;:29;;10151:6;;10128:29;:::i;:::-;-1:-1:-1;;;;;10105:20:0;;;;;;;:9;:20;;;;;;;:52;;;;10173:35;;;;;;;;;;10201:6;160:25:1;;148:2;133:18;;14:177;10173:35:0;;;;;;;;-1:-1:-1;10226:4:0;9938:300;;;;;:::o;11170:235::-;11274:4;;11236;;-1:-1:-1;;;;;11261:17:0;;;11274:4;;11261:17;:28;;;;-1:-1:-1;11283:6:0;;;;11282:7;11261:28;:43;;;;-1:-1:-1;11293:11:0;;-1:-1:-1;;;11293:11:0;;;;11261:43;:135;;;;-1:-1:-1;11337:13:0;;11327:4;11309:24;;;;:9;:24;;;;;;:41;;;:86;;-1:-1:-1;11355:7:0;;-1:-1:-1;;;11355:7:0;;;;:39;;;;-1:-1:-1;11384:4:0;11393:1;11366:24;;;:9;:24;;;;;;:28;;11253:144;11170:235;-1:-1:-1;;11170:235:0:o;10393:769::-;10552:4;;10479:7;;;;-1:-1:-1;;;;;10542:14:0;;;10552:4;;10542:14;:35;;;;-1:-1:-1;10573:4:0;;-1:-1:-1;;;;;10560:17:0;;;10573:4;;10560:17;;10542:35;10538:133;;;10665:4;10646:15;;10628;;10616:9;;:27;;;;:::i;:::-;:45;;;;:::i;:::-;10606:56;;:6;:56;:::i;:::-;:63;;;;:::i;:::-;10594:75;;10538:133;10698:4;;-1:-1:-1;;;;;10688:14:0;;;10698:4;;10688:14;;;;:35;;-1:-1:-1;10719:4:0;;-1:-1:-1;;;;;10706:17:0;;;10719:4;;10706:17;10688:35;10684:256;;;10850:7;10830:16;;10811;;10798:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;10768:6;;10761:33;;-1:-1:-1;;;10761:33:0;;-1:-1:-1;;;;;2071:32:1;;;10761:33:0;;;2053:51:1;10768:6:0;;;;10761:25;;2026:18:1;;10761:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10752:42;;:6;:42;:::i;:::-;:95;;;;:::i;:::-;:105;;;;:::i;:::-;10740:117;-1:-1:-1;10902:3:0;10888:11;10893:6;10888:2;:11;:::i;:::-;:17;;;;:::i;:::-;10876:9;:29;10872:67;;;10934:3;10920:11;10925:6;10920:2;:11;:::i;:::-;:17;;;;:::i;:::-;10908:29;;10872:67;10956:13;;10952:163;;11031:4;11013:24;;;;:9;:24;;;;;;:38;;11041:9;;11013:38;:::i;:::-;11004:4;10986:24;;;;:9;:24;;;;;;;:65;;;;11071:42;;-1:-1:-1;;;;;11071:42:0;;;;;;;11103:9;160:25:1;;148:2;133:18;;14:177;11071:42:0;;;;;;;;10952:163;11134:20;11144:9;11134:6;:20;:::i;:::-;11127:27;10393:769;-1:-1:-1;;;;;10393:769:0:o;11413:346::-;11521:4;11501:26;;;;:11;:26;;;;;;;;11536:6;;-1:-1:-1;;;;;11536:6:0;11501:43;;;;;;;;:59;-1:-1:-1;11498:125:0;;;11582:4;11562:26;;;;:11;:26;;;;;;;;11597:6;;-1:-1:-1;;;;;11597:6:0;11562:43;;;;;;;:59;;;11498:125;11633:6;;11712:9;;-1:-1:-1;;;;;11633:6:0;;;;:22;;11663:11;;11684:4;;11691:13;;11633:6;;;;11712:9;11723:27;:15;11741:9;11723:27;:::i;:::-;11633:118;;;;;;-1:-1:-1;;;;;;11633:118:0;;;-1:-1:-1;;;;;13848:15:1;;;11633:118:0;;;13830:34:1;13880:18;;;13873:34;;;;13923:18;;;13916:34;;;;13966:18;;;13959:34;;;;14030:15;;;14009:19;;;14002:44;14062:19;;;14055:35;;;;13764:19;;11633:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11413:346;;:::o;388:597:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;826:6;823:1;820:13;817:91;;;896:1;891:2;882:6;871:9;867:22;863:31;856:42;817:91;-1:-1:-1;969:2:1;948:15;-1:-1:-1;;944:29:1;929:45;;;;976:2;925:54;;388:597;-1:-1:-1;;;388:597:1:o;990:131::-;-1:-1:-1;;;;;1065:31:1;;1055:42;;1045:70;;1111:1;1108;1101:12;1045:70;990:131;:::o;1126:315::-;1194:6;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:31;1354:5;1329:31;:::i;:::-;1379:5;1431:2;1416:18;;;;1403:32;;-1:-1:-1;;;1126:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2115:247::-;2174:6;2227:2;2215:9;2206:7;2202:23;2198:32;2195:52;;;2243:1;2240;2233:12;2195:52;2282:9;2269:23;2301:31;2326:5;2301:31;:::i;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:241;2735:6;2788:2;2776:9;2767:7;2763:23;2759:32;2756:52;;;2804:1;2801;2794:12;2756:52;2843:9;2830:23;2862:28;2884:5;2862:28;:::i;2925:248::-;2993:6;3001;3054:2;3042:9;3033:7;3029:23;3025:32;3022:52;;;3070:1;3067;3060:12;3022:52;-1:-1:-1;;3093:23:1;;;3163:2;3148:18;;;3135:32;;-1:-1:-1;2925:248:1:o;3178:382::-;3243:6;3251;3304:2;3292:9;3283:7;3279:23;3275:32;3272:52;;;3320:1;3317;3310:12;3272:52;3359:9;3346:23;3378:31;3403:5;3378:31;:::i;:::-;3428:5;-1:-1:-1;3485:2:1;3470:18;;3457:32;3498:30;3457:32;3498:30;:::i;:::-;3547:7;3537:17;;;3178:382;;;;;:::o;3565:523::-;3669:6;3677;3685;3693;3701;3709;3762:3;3750:9;3741:7;3737:23;3733:33;3730:53;;;3779:1;3776;3769:12;3730:53;-1:-1:-1;;3802:23:1;;;3872:2;3857:18;;3844:32;;-1:-1:-1;3923:2:1;3908:18;;3895:32;;3974:2;3959:18;;3946:32;;-1:-1:-1;4025:3:1;4010:19;;3997:33;;-1:-1:-1;4077:3:1;4062:19;4049:33;;-1:-1:-1;3565:523:1;-1:-1:-1;3565:523:1:o;4093:388::-;4161:6;4169;4222:2;4210:9;4201:7;4197:23;4193:32;4190:52;;;4238:1;4235;4228:12;4190:52;4277:9;4264:23;4296:31;4321:5;4296:31;:::i;:::-;4346:5;-1:-1:-1;4403:2:1;4388:18;;4375:32;4416:33;4375:32;4416:33;:::i;4486:309::-;4551:6;4559;4612:2;4600:9;4591:7;4587:23;4583:32;4580:52;;;4628:1;4625;4618:12;4580:52;4667:9;4654:23;4686:28;4708:5;4686:28;:::i;5026:127::-;5087:10;5082:3;5078:20;5075:1;5068:31;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:125;5198:4;5226:1;5223;5220:8;5217:34;;;5231:18;;:::i;:::-;-1:-1:-1;5268:9:1;;5158:125::o;5288:332::-;5490:2;5472:21;;;5529:1;5509:18;;;5502:29;-1:-1:-1;;;5562:2:1;5547:18;;5540:39;5611:2;5596:18;;5288:332::o;6251:217::-;6291:1;6317;6307:132;;6361:10;6356:3;6352:20;6349:1;6342:31;6396:4;6393:1;6386:15;6424:4;6421:1;6414:15;6307:132;-1:-1:-1;6453:9:1;;6251:217::o;7167:184::-;7237:6;7290:2;7278:9;7269:7;7265:23;7261:32;7258:52;;;7306:1;7303;7296:12;7258:52;-1:-1:-1;7329:16:1;;7167:184;-1:-1:-1;7167:184:1:o;7356:128::-;7396:3;7427:1;7423:6;7420:1;7417:13;7414:39;;;7433:18;;:::i;:::-;-1:-1:-1;7469:9:1;;7356:128::o;7489:168::-;7529:7;7595:1;7591;7587:6;7583:14;7580:1;7577:21;7572:1;7565:9;7558:17;7554:45;7551:71;;;7602:18;;:::i;:::-;-1:-1:-1;7642:9:1;;7489:168::o;8354:245::-;8421:6;8474:2;8462:9;8453:7;8449:23;8445:32;8442:52;;;8490:1;8487;8480:12;8442:52;8522:9;8516:16;8541:28;8563:5;8541:28;:::i;8604:251::-;8674:6;8727:2;8715:9;8706:7;8702:23;8698:32;8695:52;;;8743:1;8740;8733:12;8695:52;8775:9;8769:16;8794:31;8819:5;8794:31;:::i;11831:127::-;11892:10;11887:3;11883:20;11880:1;11873:31;11923:4;11920:1;11913:15;11947:4;11944:1;11937:15;11963:980;12225:4;12273:3;12262:9;12258:19;12304:6;12293:9;12286:25;12330:2;12368:6;12363:2;12352:9;12348:18;12341:34;12411:3;12406:2;12395:9;12391:18;12384:31;12435:6;12470;12464:13;12501:6;12493;12486:22;12539:3;12528:9;12524:19;12517:26;;12578:2;12570:6;12566:15;12552:29;;12599:1;12609:195;12623:6;12620:1;12617:13;12609:195;;;12688:13;;-1:-1:-1;;;;;12684:39:1;12672:52;;12779:15;;;;12744:12;;;;12720:1;12638:9;12609:195;;;-1:-1:-1;;;;;;;12860:32:1;;;;12855:2;12840:18;;12833:60;-1:-1:-1;;;12924:3:1;12909:19;12902:35;12821:3;11963:980;-1:-1:-1;;;11963:980:1:o;14101:306::-;14189:6;14197;14205;14258:2;14246:9;14237:7;14233:23;14229:32;14226:52;;;14274:1;14271;14264:12;14226:52;14303:9;14297:16;14287:26;;14353:2;14342:9;14338:18;14332:25;14322:35;;14397:2;14386:9;14382:18;14376:25;14366:35;;14101:306;;;;;:::o

Swarm Source

ipfs://7800a6f5f034cfb953e7e8893d0d04df645c7148f864445b80e5c5a1f0ab83fa

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.