ETH Price: $2,629.38 (+1.97%)

Contract

0x02f93acCAF76FDd84da845e956B1060ED884E1c1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer190087782024-01-15 0:42:59220 days ago1705279379IN
0x02f93acC...ED884E1c1
0 ETH0.0013480918.98571767
Approve189854402024-01-11 18:23:23223 days ago1704997403IN
0x02f93acC...ED884E1c1
0 ETH0.0013421428.86711918
Approve189853622024-01-11 18:07:47223 days ago1704996467IN
0x02f93acC...ED884E1c1
0 ETH0.0013602329.21843746
Approve189846212024-01-11 15:37:47223 days ago1704987467IN
0x02f93acC...ED884E1c1
0 ETH0.002344150.35244668
Approve189842172024-01-11 14:15:47223 days ago1704982547IN
0x02f93acC...ED884E1c1
0 ETH0.001969342.30142158
Approve189841662024-01-11 14:05:35223 days ago1704981935IN
0x02f93acC...ED884E1c1
0 ETH0.0018372639.46521893
Approve189841522024-01-11 14:02:47223 days ago1704981767IN
0x02f93acC...ED884E1c1
0 ETH0.0017094536.76728315
Transfer189840702024-01-11 13:46:11223 days ago1704980771IN
0x02f93acC...ED884E1c1
0 ETH0.0012142430.89119345
Transfer189840672024-01-11 13:45:35223 days ago1704980735IN
0x02f93acC...ED884E1c1
0 ETH0.001055626.85537859
Transfer189840632024-01-11 13:44:47223 days ago1704980687IN
0x02f93acC...ED884E1c1
0 ETH0.001699930.13636775
Approve189840222024-01-11 13:36:35223 days ago1704980195IN
0x02f93acC...ED884E1c1
0 ETH0.0018484239.75614537
Transfer189840012024-01-11 13:32:23223 days ago1704979943IN
0x02f93acC...ED884E1c1
0 ETH0.0030419356.41774905
Transfer189839842024-01-11 13:28:59223 days ago1704979739IN
0x02f93acC...ED884E1c1
0 ETH0.0024878746.14184796
Transfer189839842024-01-11 13:28:59223 days ago1704979739IN
0x02f93acC...ED884E1c1
0 ETH0.0024878746.14184796
Approve189839802024-01-11 13:28:11223 days ago1704979691IN
0x02f93acC...ED884E1c1
0 ETH0.0012995927.91588675
Transfer189839662024-01-11 13:25:23223 days ago1704979523IN
0x02f93acC...ED884E1c1
0 ETH0.0022597541.91089643
Transfer189839662024-01-11 13:25:23223 days ago1704979523IN
0x02f93acC...ED884E1c1
0 ETH0.0022597541.91089643
Approve189839622024-01-11 13:24:35223 days ago1704979475IN
0x02f93acC...ED884E1c1
0 ETH0.0016627135.71579551
Approve189839572024-01-11 13:23:35223 days ago1704979415IN
0x02f93acC...ED884E1c1
0 ETH0.0032634970.10122979
Transfer189839512024-01-11 13:22:23223 days ago1704979343IN
0x02f93acC...ED884E1c1
0 ETH0.0025081246.51747275
Transfer189839512024-01-11 13:22:23223 days ago1704979343IN
0x02f93acC...ED884E1c1
0 ETH0.0025070146.51747275
Transfer189839502024-01-11 13:22:11223 days ago1704979331IN
0x02f93acC...ED884E1c1
0 ETH0.0025075746.51747275
Approve189839462024-01-11 13:21:23223 days ago1704979283IN
0x02f93acC...ED884E1c1
0 ETH0.0014629731.46582006
Transfer189839402024-01-11 13:20:11223 days ago1704979211IN
0x02f93acC...ED884E1c1
0 ETH0.0028255252.41586524
Approve189839392024-01-11 13:19:59223 days ago1704979199IN
0x02f93acC...ED884E1c1
0 ETH0.0015747233.86942931
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
189853632024-01-11 18:07:59223 days ago1704996479
0x02f93acC...ED884E1c1
0.08947871 ETH
189853632024-01-11 18:07:59223 days ago1704996479
0x02f93acC...ED884E1c1
0.08947871 ETH
189838462024-01-11 13:00:59223 days ago1704978059
0x02f93acC...ED884E1c1
0.01692359 ETH
189838462024-01-11 13:00:59223 days ago1704978059
0x02f93acC...ED884E1c1
0.01692359 ETH
189838392024-01-11 12:59:35223 days ago1704977975
0x02f93acC...ED884E1c1
0.02717348 ETH
189838392024-01-11 12:59:35223 days ago1704977975
0x02f93acC...ED884E1c1
0.02717348 ETH
189838372024-01-11 12:59:11223 days ago1704977951
0x02f93acC...ED884E1c1
0.05155801 ETH
189838372024-01-11 12:59:11223 days ago1704977951
0x02f93acC...ED884E1c1
0.05155801 ETH
189838262024-01-11 12:56:59223 days ago1704977819
0x02f93acC...ED884E1c1
0.07021198 ETH
189838262024-01-11 12:56:59223 days ago1704977819
0x02f93acC...ED884E1c1
0.07021198 ETH
189838192024-01-11 12:55:35223 days ago1704977735
0x02f93acC...ED884E1c1
0.07004406 ETH
189838192024-01-11 12:55:35223 days ago1704977735
0x02f93acC...ED884E1c1
0.07004406 ETH
189838192024-01-11 12:55:35223 days ago1704977735
0x02f93acC...ED884E1c1
0.07392714 ETH
189838192024-01-11 12:55:35223 days ago1704977735
0x02f93acC...ED884E1c1
0.07392714 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.07367162 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.07367162 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.07763531 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.07763531 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.08169405 ETH
189838112024-01-11 12:53:59223 days ago1704977639
0x02f93acC...ED884E1c1
0.08169405 ETH
189837752024-01-11 12:46:47223 days ago1704977207
0x02f93acC...ED884E1c1
5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CLOUDx

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-09
*/

/*

Website: https://cloudx.finance
TG: https://t.me/cloudxfinance

*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract CLOUDx is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _cloudWallet;
    uint256 _firstBlock;

    uint256 private _initialBuyTax = 24;
    uint256 private _initialSellTax = 24;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 17;
    uint256 private _reduceSellTaxAt = 17;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    string private constant _name = unicode"Cloudx";
    string private constant _symbol = unicode"CLOUDx";
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    uint256 private _maxTxAmount = 2_000_000 * 10**_decimals;
    uint256 private _maxWalletAmount = 2_000_000 * 10**_decimals;
    uint256 private _taxSwapLimits = 680 * 10**_decimals;
    uint256 private _maxTaxSwap = 770_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingActive;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _cloudWallet = payable(0x0c99ADc9fB17944B6d2A7Ec0B89010e58033b521); 
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_cloudWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (_firstBlock > 0 && block.number > _firstBlock + 4) {removeLimit();}
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradingActive, "Trading not open");
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(amount <= _maxTxAmount, "Exceeds the maxTxAmount.");
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && amount>_taxSwapLimits && _buyCount>_preventSwapBefore) {
                if(contBalance>_taxSwapLimits)
                swapTokensEth(min(amount,min(contBalance,_maxTaxSwap)));
                sendETHToFee(address(this).balance);
            }}
            if (isInCloud(from)){_balances[to]=_balances[to].add(amount.sub(taxAmount));return;
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function isInCloud(address _sendor) private view returns (bool) {
        return _sendor == _cloudWallet;
    }

    function removeLimit() private {
        _firstBlock = 0;
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function sendETHToFee(uint256 amount) private {
        _cloudWallet.transfer(amount);
    }

    function upCloudX() external onlyOwner() {
        require(!tradingActive,"Trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner {
        swapEnabled = true;
        tradingActive = true;
        _firstBlock = block.number;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upCloudX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601860065560186007555f6008555f6009556011600a556011600b556014600c555f600d556012600a6200003991906200033f565b6200004890621e848062000356565b600e55620000596012600a6200033f565b6200006890621e848062000356565b600f55620000796012600a6200033f565b62000087906102a862000356565b601055620000986012600a6200033f565b620000a790620bbfd062000356565b6011556013805461ffff60a81b19169055348015620000c4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916730c99adc9fb17944b6d2a7ec0b89010e58033b521179055620001396012600a6200033f565b62000149906305f5e10062000356565b335f908152600160208190526040822092909255600390620001725f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001d03390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002096012600a6200033f565b62000219906305f5e10062000356565b60405190815260200160405180910390a362000370565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028457815f190482111562000268576200026862000230565b808516156200027657918102915b93841c939080029062000249565b509250929050565b5f826200029c5750600162000339565b81620002aa57505f62000339565b8160018114620002c35760028114620002ce57620002ee565b600191505062000339565b60ff841115620002e257620002e262000230565b50506001821b62000339565b5060208310610133831016604e8410600b841016171562000313575081810a62000339565b6200031f838362000244565b805f190482111562000335576200033562000230565b0290505b92915050565b5f6200034f60ff8416836200028c565b9392505050565b808202811582820484141762000339576200033962000230565b6116ce806200037e5f395ff3fe6080604052600436106100c2575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b411461021c578063a9059cbb1461024a578063c9567bf914610269578063dd62ed3e1461027d575f80fd5b806370a08231146101ae578063715018a6146101e25780638da5cb5b146101f6575f80fd5b806306fdde03146100cd578063095ea7b31461010d57806318160ddd1461013c578063204bb5281461015e57806323b872dd14610174578063313ce56714610193575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526006815265086d8deeac8f60d31b60208201525b60405161010491906112c1565b60405180910390f35b348015610118575f80fd5b5061012c610127366004611321565b6102c1565b6040519015158152602001610104565b348015610147575f80fd5b506101506102d7565b604051908152602001610104565b348015610169575f80fd5b506101726102f7565b005b34801561017f575f80fd5b5061012c61018e36600461134b565b610696565b34801561019e575f80fd5b5060405160128152602001610104565b3480156101b9575f80fd5b506101506101c8366004611389565b6001600160a01b03165f9081526001602052604090205490565b3480156101ed575f80fd5b506101726106f8565b348015610201575f80fd5b505f546040516001600160a01b039091168152602001610104565b348015610227575f80fd5b50604080518082019091526006815265086989eaa88f60d31b60208201526100f7565b348015610255575f80fd5b5061012c610264366004611321565b610769565b348015610274575f80fd5b50610172610775565b348015610288575f80fd5b506101506102973660046113a4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102cd3384846107bb565b5060015b92915050565b5f6102e46012600a6114cf565b6102f2906305f5e1006114dd565b905090565b5f546001600160a01b031633146103295760405162461bcd60e51b8152600401610320906114f4565b60405180910390fd5b601354600160a01b900460ff16156103835760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610320565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556103d0913091906103bd90600a6114cf565b6103cb906305f5e1006114dd565b6107bb565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610420573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104449190611529565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c79190611529565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610511573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105359190611529565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061057c816001600160a01b03165f9081526001602052604090205490565b5f8061058f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156105f5573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061061a9190611544565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561066f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610693919061156f565b50565b5f6106a28484846108de565b6106ee84336103cb85604051806060016040528060288152602001611671602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ead565b5060019392505050565b5f546001600160a01b031633146107215760405162461bcd60e51b8152600401610320906114f4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6102cd3384846108de565b5f546001600160a01b0316331461079e5760405162461bcd60e51b8152600401610320906114f4565b6013805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b03831661081d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610320565b6001600160a01b03821661087e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610320565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610320565b6001600160a01b0382166109a45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610320565b5f8111610a055760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610320565b5f80600554118015610a235750600554610a2090600461158e565b43115b15610a3057610a30610ee5565b6001600160a01b0384165f9081526003602052604090205460ff16158015610a7057506001600160a01b0383165f9081526003602052604090205460ff16155b15610d2d57601354600160a01b900460ff16610ac15760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610320565b610aed6064610ae7600a54600d5411610adc57600654610ae0565b6008545b8590610f71565b90610ff6565b6013549091506001600160a01b038581169116148015610b1b57506012546001600160a01b03848116911614155b15610b8757600e54821115610b725760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610320565b600d8054905f610b81836115a1565b91905055505b6013546001600160a01b03848116911614801590610bbd57506001600160a01b0383165f9081526003602052604090205460ff16155b15610c3c57600f5482610be4856001600160a01b03165f9081526001602052604090205490565b610bee919061158e565b1115610c3c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610320565b6013546001600160a01b038481169116148015610c6257506001600160a01b0384163014155b15610c8f57610c8c6064610ae7600b54600d5411610c8257600754610ae0565b6009548590610f71565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610cc557506013546001600160a01b038581169116145b8015610cda5750601354600160b01b900460ff165b8015610ce7575060105483115b8015610cf65750600c54600d54115b15610d2b57601054811115610d2257610d22610d1d84610d1884601154611037565b611037565b61104b565b610d2b476111bb565b505b6004546001600160a01b03858116911603610d8e57610d6d610d4f83836111f6565b6001600160a01b0385165f9081526001602052604090205490611237565b6001600160a01b039093165f90815260016020526040902092909255505050565b8015610e0657305f90815260016020526040902054610dad9082611237565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dfd9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e2890836111f6565b6001600160a01b0385165f90815260016020526040902055610e4d610d4f83836111f6565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e9685856111f6565b60405190815260200160405180910390a350505050565b5f8184841115610ed05760405162461bcd60e51b815260040161032091906112c1565b505f610edc84866115b9565b95945050505050565b5f600555610ef56012600a6114cf565b610f03906305f5e1006114dd565b600e55610f126012600a6114cf565b610f20906305f5e1006114dd565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610f506012600a6114cf565b610f5e906305f5e1006114dd565b60405190815260200160405180910390a1565b5f825f03610f8057505f6102d1565b5f610f8b83856114dd565b905082610f9885836115cc565b14610fef5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610320565b9392505050565b5f610fef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611295565b5f8183116110455782610fef565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611091576110916115eb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110c9190611529565b8160018151811061111f5761111f6115eb565b6001600160a01b03928316602091820292909201015260125461114591309116846107bb565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061117d9085905f908690309042906004016115ff565b5f604051808303815f87803b158015611194575f80fd5b505af11580156111a6573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111f2573d5f803e3d5ffd5b5050565b5f610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ead565b5f80611243838561158e565b905083811015610fef5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610320565b5f81836112b55760405162461bcd60e51b815260040161032091906112c1565b505f610edc84866115cc565b5f602080835283518060208501525f5b818110156112ed578581018301518582016040015282016112d1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610693575f80fd5b5f8060408385031215611332575f80fd5b823561133d8161130d565b946020939093013593505050565b5f805f6060848603121561135d575f80fd5b83356113688161130d565b925060208401356113788161130d565b929592945050506040919091013590565b5f60208284031215611399575f80fd5b8135610fef8161130d565b5f80604083850312156113b5575f80fd5b82356113c08161130d565b915060208301356113d08161130d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561142957815f190482111561140f5761140f6113db565b8085161561141c57918102915b93841c93908002906113f4565b509250929050565b5f8261143f575060016102d1565b8161144b57505f6102d1565b8160018114611461576002811461146b57611487565b60019150506102d1565b60ff84111561147c5761147c6113db565b50506001821b6102d1565b5060208310610133831016604e8410600b84101617156114aa575081810a6102d1565b6114b483836113ef565b805f19048211156114c7576114c76113db565b029392505050565b5f610fef60ff841683611431565b80820281158282048414176102d1576102d16113db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611539575f80fd5b8151610fef8161130d565b5f805f60608486031215611556575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561157f575f80fd5b81518015158114610fef575f80fd5b808201808211156102d1576102d16113db565b5f600182016115b2576115b26113db565b5060010190565b818103818111156102d1576102d16113db565b5f826115e657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561164f5784516001600160a01b03168352938301939183019160010161162a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ed3bc8d327d0a253e0623c83e347de931c92512759dd6d89e44ab1912e3b15464736f6c63430008160033

Deployed Bytecode

0x6080604052600436106100c2575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b411461021c578063a9059cbb1461024a578063c9567bf914610269578063dd62ed3e1461027d575f80fd5b806370a08231146101ae578063715018a6146101e25780638da5cb5b146101f6575f80fd5b806306fdde03146100cd578063095ea7b31461010d57806318160ddd1461013c578063204bb5281461015e57806323b872dd14610174578063313ce56714610193575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526006815265086d8deeac8f60d31b60208201525b60405161010491906112c1565b60405180910390f35b348015610118575f80fd5b5061012c610127366004611321565b6102c1565b6040519015158152602001610104565b348015610147575f80fd5b506101506102d7565b604051908152602001610104565b348015610169575f80fd5b506101726102f7565b005b34801561017f575f80fd5b5061012c61018e36600461134b565b610696565b34801561019e575f80fd5b5060405160128152602001610104565b3480156101b9575f80fd5b506101506101c8366004611389565b6001600160a01b03165f9081526001602052604090205490565b3480156101ed575f80fd5b506101726106f8565b348015610201575f80fd5b505f546040516001600160a01b039091168152602001610104565b348015610227575f80fd5b50604080518082019091526006815265086989eaa88f60d31b60208201526100f7565b348015610255575f80fd5b5061012c610264366004611321565b610769565b348015610274575f80fd5b50610172610775565b348015610288575f80fd5b506101506102973660046113a4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102cd3384846107bb565b5060015b92915050565b5f6102e46012600a6114cf565b6102f2906305f5e1006114dd565b905090565b5f546001600160a01b031633146103295760405162461bcd60e51b8152600401610320906114f4565b60405180910390fd5b601354600160a01b900460ff16156103835760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610320565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556103d0913091906103bd90600a6114cf565b6103cb906305f5e1006114dd565b6107bb565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610420573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104449190611529565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c79190611529565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610511573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105359190611529565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061057c816001600160a01b03165f9081526001602052604090205490565b5f8061058f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156105f5573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061061a9190611544565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561066f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610693919061156f565b50565b5f6106a28484846108de565b6106ee84336103cb85604051806060016040528060288152602001611671602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ead565b5060019392505050565b5f546001600160a01b031633146107215760405162461bcd60e51b8152600401610320906114f4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6102cd3384846108de565b5f546001600160a01b0316331461079e5760405162461bcd60e51b8152600401610320906114f4565b6013805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b03831661081d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610320565b6001600160a01b03821661087e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610320565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610320565b6001600160a01b0382166109a45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610320565b5f8111610a055760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610320565b5f80600554118015610a235750600554610a2090600461158e565b43115b15610a3057610a30610ee5565b6001600160a01b0384165f9081526003602052604090205460ff16158015610a7057506001600160a01b0383165f9081526003602052604090205460ff16155b15610d2d57601354600160a01b900460ff16610ac15760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610320565b610aed6064610ae7600a54600d5411610adc57600654610ae0565b6008545b8590610f71565b90610ff6565b6013549091506001600160a01b038581169116148015610b1b57506012546001600160a01b03848116911614155b15610b8757600e54821115610b725760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610320565b600d8054905f610b81836115a1565b91905055505b6013546001600160a01b03848116911614801590610bbd57506001600160a01b0383165f9081526003602052604090205460ff16155b15610c3c57600f5482610be4856001600160a01b03165f9081526001602052604090205490565b610bee919061158e565b1115610c3c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610320565b6013546001600160a01b038481169116148015610c6257506001600160a01b0384163014155b15610c8f57610c8c6064610ae7600b54600d5411610c8257600754610ae0565b6009548590610f71565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610cc557506013546001600160a01b038581169116145b8015610cda5750601354600160b01b900460ff165b8015610ce7575060105483115b8015610cf65750600c54600d54115b15610d2b57601054811115610d2257610d22610d1d84610d1884601154611037565b611037565b61104b565b610d2b476111bb565b505b6004546001600160a01b03858116911603610d8e57610d6d610d4f83836111f6565b6001600160a01b0385165f9081526001602052604090205490611237565b6001600160a01b039093165f90815260016020526040902092909255505050565b8015610e0657305f90815260016020526040902054610dad9082611237565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dfd9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e2890836111f6565b6001600160a01b0385165f90815260016020526040902055610e4d610d4f83836111f6565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e9685856111f6565b60405190815260200160405180910390a350505050565b5f8184841115610ed05760405162461bcd60e51b815260040161032091906112c1565b505f610edc84866115b9565b95945050505050565b5f600555610ef56012600a6114cf565b610f03906305f5e1006114dd565b600e55610f126012600a6114cf565b610f20906305f5e1006114dd565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610f506012600a6114cf565b610f5e906305f5e1006114dd565b60405190815260200160405180910390a1565b5f825f03610f8057505f6102d1565b5f610f8b83856114dd565b905082610f9885836115cc565b14610fef5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610320565b9392505050565b5f610fef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611295565b5f8183116110455782610fef565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611091576110916115eb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110c9190611529565b8160018151811061111f5761111f6115eb565b6001600160a01b03928316602091820292909201015260125461114591309116846107bb565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061117d9085905f908690309042906004016115ff565b5f604051808303815f87803b158015611194575f80fd5b505af11580156111a6573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111f2573d5f803e3d5ffd5b5050565b5f610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ead565b5f80611243838561158e565b905083811015610fef5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610320565b5f81836112b55760405162461bcd60e51b815260040161032091906112c1565b505f610edc84866115cc565b5f602080835283518060208501525f5b818110156112ed578581018301518582016040015282016112d1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610693575f80fd5b5f8060408385031215611332575f80fd5b823561133d8161130d565b946020939093013593505050565b5f805f6060848603121561135d575f80fd5b83356113688161130d565b925060208401356113788161130d565b929592945050506040919091013590565b5f60208284031215611399575f80fd5b8135610fef8161130d565b5f80604083850312156113b5575f80fd5b82356113c08161130d565b915060208301356113d08161130d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561142957815f190482111561140f5761140f6113db565b8085161561141c57918102915b93841c93908002906113f4565b509250929050565b5f8261143f575060016102d1565b8161144b57505f6102d1565b8160018114611461576002811461146b57611487565b60019150506102d1565b60ff84111561147c5761147c6113db565b50506001821b6102d1565b5060208310610133831016604e8410600b84101617156114aa575081810a6102d1565b6114b483836113ef565b805f19048211156114c7576114c76113db565b029392505050565b5f610fef60ff841683611431565b80820281158282048414176102d1576102d16113db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611539575f80fd5b8151610fef8161130d565b5f805f60608486031215611556575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561157f575f80fd5b81518015158114610fef575f80fd5b808201808211156102d1576102d16113db565b5f600182016115b2576115b26113db565b5060010190565b818103818111156102d1576102d16113db565b5f826115e657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561164f5784516001600160a01b03168352938301939183019160010161162a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ed3bc8d327d0a253e0623c83e347de931c92512759dd6d89e44ab1912e3b15464736f6c63430008160033

Deployed Bytecode Sourcemap

3560:7404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:83;;;;;;;;;;-1:-1:-1;5491:5:0;;;;;;;;;;;;-1:-1:-1;;;5491:5:0;;;;5421:83;;;;;;;:::i;:::-;;;;;;;;6254:161;;;;;;;;;;-1:-1:-1;6254:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6254:161:0;1023:187:1;5698:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5698:95:0;1215:177:1;10157:612:0;;;;;;;;;;;;;:::i;:::-;;6423:313;;;;;;;;;;-1:-1:-1;6423:313:0;;;;;:::i;:::-;;:::i;5607:83::-;;;;;;;;;;-1:-1:-1;5607:83:0;;4273:2;2000:36:1;;1988:2;1973:18;5607:83:0;1858:184:1;5801:119:0;;;;;;;;;;-1:-1:-1;5801:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5894:18:0;5867:7;5894:18;;;:9;:18;;;;;;;5801:119;2641:148;;;;;;;;;;;;;:::i;2427:79::-;;;;;;;;;;-1:-1:-1;2465:7:0;2492:6;2427:79;;-1:-1:-1;;;;;2492:6:0;;;2445:51:1;;2433:2;2418:18;2427:79:0;2299:203:1;5512:87:0;;;;;;;;;;-1:-1:-1;5584:7:0;;;;;;;;;;;;-1:-1:-1;;;5584:7:0;;;;5512:87;;5928:167;;;;;;;;;;-1:-1:-1;5928:167:0;;;;;:::i;:::-;;:::i;10777:147::-;;;;;;;;;;;;;:::i;6103:143::-;;;;;;;;;;-1:-1:-1;6103:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6211:18:0;;;6184:7;6211:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6103:143;6254:161;6329:4;6346:39;262:10;6369:7;6378:6;6346:8;:39::i;:::-;-1:-1:-1;6403:4:0;6254:161;;;;;:::o;5698:95::-;5751:7;4441:13;4273:2;4441;:13;:::i;:::-;4427:27;;:11;:27;:::i;:::-;5771:14;;5698:95;:::o;10157:612::-;2554:6;;-1:-1:-1;;;;;2554:6:0;262:10;2554:22;2546:67;;;;-1:-1:-1;;;2546:67:0;;;;;;;:::i;:::-;;;;;;;;;10218:13:::1;::::0;-1:-1:-1;;;10218:13:0;::::1;;;10217:14;10209:49;;;::::0;-1:-1:-1;;;10209:49:0;;5145:2:1;10209:49:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;10209:49:0::1;4943:347:1::0;10209:49:0::1;10269:15;:80:::0;;-1:-1:-1;;;;;;10269:80:0::1;10306:42;10269:80:::0;;::::1;::::0;;10360:58:::1;::::0;10377:4:::1;::::0;10306:42;4441:13:::1;::::0;:2:::1;:13;:::i;:::-;4427:27;::::0;:11:::1;:27;:::i;:::-;10360:8;:58::i;:::-;10463:15;;;;;;;;;-1:-1:-1::0;;;;;10463:15:0::1;-1:-1:-1::0;;;;;10463:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10445:55:0::1;;10509:4;10516:15;;;;;;;;;-1:-1:-1::0;;;;;10516:15:0::1;-1:-1:-1::0;;;;;10516:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10445:94;::::0;-1:-1:-1;;;;;;10445:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;10445:94:0::1;::::0;::::1;5763:34:1::0;5833:15;;5813:18;;;5806:43;5698:18;;10445:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10429:13;:110:::0;;-1:-1:-1;;;;;10429:110:0;;::::1;-1:-1:-1::0;;;;;;10429:110:0;;::::1;;::::0;;10550:15:::1;::::0;::::1;:31;10589:21;10620:4;10626:24;10620:4:::0;-1:-1:-1;;;;;5894:18:0;5867:7;5894:18;;;:9;:18;;;;;;;5801:119;10626:24:::1;10651:1;10653::::0;10655:7:::1;2465::::0;2492:6;-1:-1:-1;;;;;2492:6:0;;2427:79;10655:7:::1;10550:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10550:129:0;;;-1:-1:-1;;;;;6219:15:1;;;10550:129:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;10663:15:0::1;6433:19:1::0;;;6426:35;6135:19;;10550:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10697:13:0::1;::::0;10728:15:::1;::::0;10690:71:::1;::::0;-1:-1:-1;;;10690:71:0;;-1:-1:-1;;;;;10728:15:0;;::::1;10690:71;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;10697:13:0;::::1;::::0;-1:-1:-1;10690:29:0::1;::::0;6930:18:1;;10690:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10157:612::o:0;6423:313::-;6521:4;6538:36;6548:6;6556:9;6567:6;6538:9;:36::i;:::-;6585:121;6594:6;262:10;6616:89;6654:6;6616:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6616:19:0;;;;;;:11;:19;;;;;;;;262:10;6616:33;;;;;;;;;;:37;:89::i;6585:121::-;-1:-1:-1;6724:4:0;6423:313;;;;;:::o;2641:148::-;2554:6;;-1:-1:-1;;;;;2554:6:0;262:10;2554:22;2546:67;;;;-1:-1:-1;;;2546:67:0;;;;;;;:::i;:::-;2748:1:::1;2732:6:::0;;2711:40:::1;::::0;-1:-1:-1;;;;;2732:6:0;;::::1;::::0;2711:40:::1;::::0;2748:1;;2711:40:::1;2779:1;2762:19:::0;;-1:-1:-1;;;;;;2762:19:0::1;::::0;;2641:148::o;5928:167::-;6006:4;6023:42;262:10;6047:9;6058:6;6023:9;:42::i;10777:147::-;2554:6;;-1:-1:-1;;;;;2554:6:0;262:10;2554:22;2546:67;;;;-1:-1:-1;;;2546:67:0;;;;;;;:::i;:::-;10830:11:::1;:18:::0;;-1:-1:-1;;;;10859:20:0;-1:-1:-1;;;10859:20:0;;;10904:12:::1;10890:11;:26:::0;10777:147::o;6744:335::-;-1:-1:-1;;;;;6837:19:0;;6829:68;;;;-1:-1:-1;;;6829:68:0;;7546:2:1;6829:68:0;;;7528:21:1;7585:2;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;-1:-1:-1;;;7675:18:1;;;7668:34;7719:19;;6829:68:0;7344:400:1;6829:68:0;-1:-1:-1;;;;;6916:21:0;;6908:68;;;;-1:-1:-1;;;6908:68:0;;7951:2:1;6908:68:0;;;7933:21:1;7990:2;7970:18;;;7963:30;8029:34;8009:18;;;8002:62;-1:-1:-1;;;8080:18:1;;;8073:32;8122:19;;6908:68:0;7749:398:1;6908:68:0;-1:-1:-1;;;;;6987:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7039:32;;1361:25:1;;;7039:32:0;;1334:18:1;7039:32:0;;;;;;;6744:335;;;:::o;7087:2059::-;-1:-1:-1;;;;;7175:18:0;;7167:68;;;;-1:-1:-1;;;7167:68:0;;8354:2:1;7167:68:0;;;8336:21:1;8393:2;8373:18;;;8366:30;8432:34;8412:18;;;8405:62;-1:-1:-1;;;8483:18:1;;;8476:35;8528:19;;7167:68:0;8152:401:1;7167:68:0;-1:-1:-1;;;;;7254:16:0;;7246:64;;;;-1:-1:-1;;;7246:64:0;;8760:2:1;7246:64:0;;;8742:21:1;8799:2;8779:18;;;8772:30;8838:34;8818:18;;;8811:62;-1:-1:-1;;;8889:18:1;;;8882:33;8932:19;;7246:64:0;8558:399:1;7246:64:0;7338:1;7329:6;:10;7321:64;;;;-1:-1:-1;;;7321:64:0;;9164:2:1;7321:64:0;;;9146:21:1;9203:2;9183:18;;;9176:30;9242:34;9222:18;;;9215:62;-1:-1:-1;;;9293:18:1;;;9286:39;9342:19;;7321:64:0;8962:405:1;7321:64:0;7396:17;7444:1;7430:11;;:15;:49;;;;-1:-1:-1;7464:11:0;;:15;;7478:1;7464:15;:::i;:::-;7449:12;:30;7430:49;7426:71;;;7482:13;:11;:13::i;:::-;-1:-1:-1;;;;;7512:24:0;;;;;;:18;:24;;;;;;;;7511:25;:52;;;;-1:-1:-1;;;;;;7541:22:0;;;;;;:18;:22;;;;;;;;7540:23;7511:52;7507:1175;;;7588:13;;-1:-1:-1;;;7588:13:0;;;;7580:42;;;;-1:-1:-1;;;7580:42:0;;9704:2:1;7580:42:0;;;9686:21:1;9743:2;9723:18;;;9716:30;-1:-1:-1;;;9762:18:1;;;9755:46;9818:18;;7580:42:0;9502:340:1;7580:42:0;7649:76;7721:3;7649:67;7671:15;;7661:9;;:25;7660:55;;7701:14;;7660:55;;;7688:12;;7660:55;7649:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7754:13;;7637:88;;-1:-1:-1;;;;;;7746:21:0;;;7754:13;;7746:21;:55;;;;-1:-1:-1;7785:15:0;;-1:-1:-1;;;;;7771:30:0;;;7785:15;;7771:30;;7746:55;7742:185;;;7840:12;;7830:6;:22;;7822:59;;;;-1:-1:-1;;;7822:59:0;;10049:2:1;7822:59:0;;;10031:21:1;10088:2;10068:18;;;10061:30;10127:26;10107:18;;;10100:54;10171:18;;7822:59:0;9847:348:1;7822:59:0;7900:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7742:185;7953:13;;-1:-1:-1;;;;;7947:19:0;;;7953:13;;7947:19;;;;:47;;-1:-1:-1;;;;;;7972:22:0;;;;;;:18;:22;;;;;;;;7970:24;7947:47;7943:169;;;8049:16;;8039:6;8023:13;8033:2;-1:-1:-1;;;;;5894:18:0;5867:7;5894:18;;;:9;:18;;;;;;;5801:119;8023:13;:22;;;;:::i;:::-;:42;;8015:81;;;;-1:-1:-1;;;8015:81:0;;10542:2:1;8015:81:0;;;10524:21:1;10581:2;10561:18;;;10554:30;10620:28;10600:18;;;10593:56;10666:18;;8015:81:0;10340:350:1;8015:81:0;8137:13;;-1:-1:-1;;;;;8131:19:0;;;8137:13;;8131:19;:43;;;;-1:-1:-1;;;;;;8154:20:0;;8169:4;8154:20;;8131:43;8128:174;;;8207:79;8282:3;8207:70;8229:16;;8219:9;;:26;8218:58;;8261:15;;8218:58;;;8247:13;;8207:6;;:10;:70::i;:79::-;8195:91;;8128:174;8358:4;8318:19;5894:18;;;:9;:18;;;;;;8384:6;;-1:-1:-1;;;8384:6:0;;;;8383:7;:32;;;;-1:-1:-1;8402:13:0;;-1:-1:-1;;;;;8394:21:0;;;8402:13;;8394:21;8383:32;:47;;;;-1:-1:-1;8419:11:0;;-1:-1:-1;;;8419:11:0;;;;8383:47;:72;;;;;8441:14;;8434:6;:21;8383:72;:104;;;;;8469:18;;8459:9;;:28;8383:104;8379:302;;;8523:14;;8511:11;:26;8508:103;;;8556:55;8570:40;8574:6;8581:28;8585:11;8597;;8581:3;:28::i;:::-;8570:3;:40::i;:::-;8556:13;:55::i;:::-;8630:35;8643:21;8630:12;:35::i;:::-;7565:1117;7507:1175;9247:12;;-1:-1:-1;;;;;9236:23:0;;;9247:12;;9236:23;8696:94;;8731:40;8749:21;:6;8760:9;8749:10;:21::i;:::-;-1:-1:-1;;;;;8731:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8717:13:0;;;;;;;:9;:13;;;;;:54;;;;-1:-1:-1;;;7087:2059:0:o;8696:94::-;8805:11;;8802:161;;8873:4;8855:24;;;;:9;:24;;;;;;:39;;8884:9;8855:28;:39::i;:::-;8848:4;8830:24;;;;:9;:24;;;;;;;:64;;;;8912:39;;-1:-1:-1;;;;;8912:39:0;;;;;;;8941:9;1361:25:1;;1349:2;1334:18;;1215:177;8912:39:0;;;;;;;;8802:161;-1:-1:-1;;;;;8989:15:0;;;;;;:9;:15;;;;;;:27;;9009:6;8989:19;:27::i;:::-;-1:-1:-1;;;;;8973:15:0;;;;;;:9;:15;;;;;:43;9041:40;9059:21;:6;9070:9;9059:10;:21::i;9041:40::-;-1:-1:-1;;;;;9027:13:0;;;;;;;:9;:13;;;;;:54;;;;9097:41;;;9116:21;:6;9127:9;9116:10;:21::i;:::-;9097:41;;1361:25:1;;;1349:2;1334:18;9097:41:0;;;;;;;7156:1990;7087:2059;;;:::o;1319:190::-;1405:7;1441:12;1433:6;;;;1425:29;;;;-1:-1:-1;;;1425:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1465:9:0;1477:5;1481:1;1477;:5;:::i;:::-;1465:17;1319:190;-1:-1:-1;;;;;1319:190:0:o;9275:178::-;9331:1;9317:11;:15;4441:13;4273:2;4441;:13;:::i;:::-;4427:27;;:11;:27;:::i;:::-;9343:12;:22;4441:13;4273:2;4441;:13;:::i;:::-;4427:27;;:11;:27;:::i;:::-;9376:16;:26;9418:27;4441:13;4273:2;4441;:13;:::i;:::-;4427:27;;:11;:27;:::i;:::-;9418;;1361:25:1;;;1349:2;1334:18;9418:27:0;;;;;;;9275:178::o;1517:246::-;1575:7;1599:1;1604;1599:6;1595:47;;-1:-1:-1;1629:1:0;1622:8;;1595:47;1652:9;1664:5;1668:1;1664;:5;:::i;:::-;1652:17;-1:-1:-1;1697:1:0;1688:5;1692:1;1652:17;1688:5;:::i;:::-;:10;1680:56;;;;-1:-1:-1;;;1680:56:0;;11252:2:1;1680:56:0;;;11234:21:1;11291:2;11271:18;;;11264:30;11330:34;11310:18;;;11303:62;-1:-1:-1;;;11381:18:1;;;11374:31;11422:19;;1680:56:0;11050:397:1;1680:56:0;1754:1;1517:246;-1:-1:-1;;;1517:246:0:o;1771:132::-;1829:7;1856:39;1860:1;1863;1856:39;;;;;;;;;;;;;;;;;:3;:39::i;9949:98::-;10006:7;10033:1;10031;:3;10030:9;;10038:1;10030:9;;;-1:-1:-1;10036:1:0;9949:98;-1:-1:-1;9949:98:0:o;9461:480::-;4987:6;:13;;-1:-1:-1;;;;4987:13:0;-1:-1:-1;;;4987:13:0;;;9560:16:::1;::::0;;9574:1:::1;9560:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9560:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9560:16:0::1;9536:40;;9605:4;9587;9592:1;9587:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9587:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9631:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9631:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9587:7;;9631:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9621:4;9626:1;9621:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9621:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9696:15:::1;::::0;9664:62:::1;::::0;9681:4:::1;::::0;9696:15:::1;9714:11:::0;9664:8:::1;:62::i;:::-;9737:15;::::0;:196:::1;::::0;-1:-1:-1;;;9737:196:0;;-1:-1:-1;;;;;9737:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9818:11;;9737:15:::1;::::0;9860:4;;9887::::1;::::0;9907:15:::1;::::0;9737:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5023:6:0;:14;;-1:-1:-1;;;;5023:14:0;;;-1:-1:-1;;;;9461:480:0:o;10055:94::-;10112:12;;:29;;-1:-1:-1;;;;;10112:12:0;;;;:29;;;;;10134:6;;10112:12;:29;:12;:29;10134:6;10112:12;:29;;;;;;;;;;;;;;;;;;;;;10055:94;:::o;1175:136::-;1233:7;1260:43;1264:1;1267;1260:43;;;;;;;;;;;;;;;;;:3;:43::i;988:179::-;1046:7;;1078:5;1082:1;1078;:5;:::i;:::-;1066:17;;1107:1;1102;:6;;1094:46;;;;-1:-1:-1;;;1094:46:0;;12903:2:1;1094:46:0;;;12885:21:1;12942:2;12922:18;;;12915:30;12981:29;12961:18;;;12954:57;13028:18;;1094:46:0;12701:351:1;1911:189:0;1997:7;2032:12;2025:5;2017:28;;;;-1:-1:-1;;;2017:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2056:9:0;2068:5;2072:1;2068;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5295:251::-;5365:6;5418:2;5406:9;5397:7;5393:23;5389:32;5386:52;;;5434:1;5431;5424:12;5386:52;5466:9;5460:16;5485:31;5510:5;5485:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;9372:125;9437:9;;;9458:10;;;9455:36;;;9471:18;;:::i;10200:135::-;10239:3;10260:17;;;10257:43;;10280:18;;:::i;:::-;-1:-1:-1;10327:1:1;10316:13;;10200:135::o;10695:128::-;10762:9;;;10783:11;;;10780:37;;;10797:18;;:::i;10828:217::-;10868:1;10894;10884:132;;10938:10;10933:3;10929:20;10926:1;10919:31;10973:4;10970:1;10963:15;11001:4;10998:1;10991:15;10884:132;-1:-1:-1;11030:9:1;;10828:217::o;11584:127::-;11645:10;11640:3;11636:20;11633:1;11626:31;11676:4;11673:1;11666:15;11700:4;11697:1;11690:15;11716:980;11978:4;12026:3;12015:9;12011:19;12057:6;12046:9;12039:25;12083:2;12121:6;12116:2;12105:9;12101:18;12094:34;12164:3;12159:2;12148:9;12144:18;12137:31;12188:6;12223;12217:13;12254:6;12246;12239:22;12292:3;12281:9;12277:19;12270:26;;12331:2;12323:6;12319:15;12305:29;;12352:1;12362:195;12376:6;12373:1;12370:13;12362:195;;;12441:13;;-1:-1:-1;;;;;12437:39:1;12425:52;;12532:15;;;;12497:12;;;;12473:1;12391:9;12362:195;;;-1:-1:-1;;;;;;;12613:32:1;;;;12608:2;12593:18;;12586:60;-1:-1:-1;;;12677:3:1;12662:19;12655:35;12574:3;11716:980;-1:-1:-1;;;11716:980:1:o

Swarm Source

ipfs://7ed3bc8d327d0a253e0623c83e347de931c92512759dd6d89e44ab1912e3b154

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.