ETH Price: $3,336.64 (-1.85%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve208842562024-10-03 10:01:11114 days ago1727949671IN
0x64d16C41...00928C353
0 ETH0.000232215.02448594
Approve182030012023-09-24 3:31:47489 days ago1695526307IN
0x64d16C41...00928C353
0 ETH0.000350357.5709118
Approve182019522023-09-24 0:00:23489 days ago1695513623IN
0x64d16C41...00928C353
0 ETH0.000351037.54636115
Approve181989862023-09-23 14:02:11490 days ago1695477731IN
0x64d16C41...00928C353
0 ETH0.000372088.04041892
Approve181937272023-09-22 20:22:23490 days ago1695414143IN
0x64d16C41...00928C353
0 ETH0.000404248.69020339
Approve181893862023-09-22 5:43:47491 days ago1695361427IN
0x64d16C41...00928C353
0 ETH0.000424249.10837705
Approve181892202023-09-22 5:10:11491 days ago1695359411IN
0x64d16C41...00928C353
0 ETH0.000366047.86914509
Approve181883802023-09-22 2:20:59491 days ago1695349259IN
0x64d16C41...00928C353
0 ETH0.000351637.60050202
Approve181880462023-09-22 1:12:59491 days ago1695345179IN
0x64d16C41...00928C353
0 ETH0.00026569.10685252
Approve181860962023-09-21 18:40:35491 days ago1695321635IN
0x64d16C41...00928C353
0 ETH0.0006634814.24490135
Approve181857402023-09-21 17:29:23492 days ago1695317363IN
0x64d16C41...00928C353
0 ETH0.0006203313.33568397
Approve181854712023-09-21 16:34:11492 days ago1695314051IN
0x64d16C41...00928C353
0 ETH0.0014878831.94473097
Approve181853002023-09-21 15:59:59492 days ago1695311999IN
0x64d16C41...00928C353
0 ETH0.0003671612.60994689
Approve181852962023-09-21 15:59:11492 days ago1695311951IN
0x64d16C41...00928C353
0 ETH0.0005558812.02769854
Approve181852872023-09-21 15:57:23492 days ago1695311843IN
0x64d16C41...00928C353
0 ETH0.0006394713.83643192
Approve181852662023-09-21 15:53:11492 days ago1695311591IN
0x64d16C41...00928C353
0 ETH0.0006327513.58505473
Approve181852582023-09-21 15:51:35492 days ago1695311495IN
0x64d16C41...00928C353
0 ETH0.0008325417.8746954
Approve181852562023-09-21 15:51:11492 days ago1695311471IN
0x64d16C41...00928C353
0 ETH0.0006821114.75903442
Approve181852492023-09-21 15:49:47492 days ago1695311387IN
0x64d16C41...00928C353
0 ETH0.0006773314.5609514
Approve181852462023-09-21 15:49:11492 days ago1695311351IN
0x64d16C41...00928C353
0 ETH0.0007900717.07269724
Approve181852442023-09-21 15:48:47492 days ago1695311327IN
0x64d16C41...00928C353
0 ETH0.0006171413.26707679
Approve181851992023-09-21 15:39:47492 days ago1695310787IN
0x64d16C41...00928C353
0 ETH0.0007261815.59102333
Approve181851692023-09-21 15:33:47492 days ago1695310427IN
0x64d16C41...00928C353
0 ETH0.0008485218.21770663
Approve181851312023-09-21 15:25:59492 days ago1695309959IN
0x64d16C41...00928C353
0 ETH0.0002584210.66406911
Approve181851212023-09-21 15:23:59492 days ago1695309839IN
0x64d16C41...00928C353
0 ETH0.0005552311.93618615
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
208842612024-10-03 10:02:11114 days ago1727949731
0x64d16C41...00928C353
0.05271106 ETH
208842612024-10-03 10:02:11114 days ago1727949731
0x64d16C41...00928C353
0.00407392 ETH
181883932023-09-22 2:23:47491 days ago1695349427
0x64d16C41...00928C353
0.00211542 ETH
181857422023-09-21 17:29:47492 days ago1695317387
0x64d16C41...00928C353
0.002128 ETH
181854272023-09-21 16:25:23492 days ago1695313523
0x64d16C41...00928C353
0.00288094 ETH
181852922023-09-21 15:58:23492 days ago1695311903
0x64d16C41...00928C353
0.00304604 ETH
181852792023-09-21 15:55:47492 days ago1695311747
0x64d16C41...00928C353
0.00518874 ETH
181852782023-09-21 15:55:35492 days ago1695311735
0x64d16C41...00928C353
0.00518874 ETH
181852612023-09-21 15:52:11492 days ago1695311531
0x64d16C41...00928C353
0.01210659 ETH
181852542023-09-21 15:50:47492 days ago1695311447
0x64d16C41...00928C353
0.00763207 ETH
181852362023-09-21 15:47:11492 days ago1695311231
0x64d16C41...00928C353
0.01353929 ETH
181851752023-09-21 15:34:59492 days ago1695310499
0x64d16C41...00928C353
0.06967466 ETH
181851752023-09-21 15:34:59492 days ago1695310499
0x64d16C41...00928C353
0.02697398 ETH
181850242023-09-21 15:04:23492 days ago1695308663
0x64d16C41...00928C353
0.04270068 ETH
181849132023-09-21 14:41:47492 days ago1695307307
0x64d16C41...00928C353
0.05156207 ETH
181849132023-09-21 14:41:47492 days ago1695307307
0x64d16C41...00928C353
0.05156207 ETH
181848802023-09-21 14:35:11492 days ago1695306911
0x64d16C41...00928C353
0.07111517 ETH
181848802023-09-21 14:35:11492 days ago1695306911
0x64d16C41...00928C353
0.04426073 ETH
181848182023-09-21 14:22:47492 days ago1695306167
0x64d16C41...00928C353
0.02685444 ETH
181847682023-09-21 14:12:35492 days ago1695305555
0x64d16C41...00928C353
0.0750037 ETH
181847682023-09-21 14:12:35492 days ago1695305555
0x64d16C41...00928C353
0.0275513 ETH
181846642023-09-21 13:51:35492 days ago1695304295
0x64d16C41...00928C353
0.04745239 ETH
181845962023-09-21 13:37:59492 days ago1695303479
0x64d16C41...00928C353
0.05982401 ETH
181845962023-09-21 13:37:59492 days ago1695303479
0x64d16C41...00928C353
0.05982401 ETH
181845932023-09-21 13:37:23492 days ago1695303443
0x64d16C41...00928C353
0.05982401 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BITCOINGREATEST

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-21
*/

/**
Website: https://hpos10ig.com
Twitter: https://twitter.com/HPOS10IG_ERC
Telegram: https://t.me/HPOS10IG
**/

pragma solidity 0.8.21;
// SPDX-License-Identifier: MIT
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 BITCOINGREATEST 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=99;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"HarryPotterObamaSonic10InuGreatest";
    string private constant _symbol = unicode"BITCOINGREATEST";
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1500000 * 10**_decimals;
    uint256 public _maxTaxSwap= 15000000 * 10**_decimals;

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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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


    function openTrading() external onlyOwner() {
        require(!tradingOpen,"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);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function ManualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>3000000000000000000){
          sendETHToFee(ethBalance);
        }
    }
}

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":[],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526005805460ff1916600190811790915560146006819055606360075560088290556009918255600a818155600b91909155600c8190555f600d556200004a919062000349565b6200005a906301312d0062000360565b600e556200006b6009600a62000349565b6200007b906301312d0062000360565b600f556200008c6009600a62000349565b6200009b906216e36062000360565b601055620000ac6009600a62000349565b620000bb9062e4e1c062000360565b6011556013805461ffff60a81b19169055348015620000d8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556200013e6009600a62000349565b6200014e90633b9aca0062000360565b335f908152600160208190526040822092909255600390620001775f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001da3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002136009600a62000349565b6200022390633b9aca0062000360565b60405190815260200160405180910390a36200037a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028e57815f19048211156200027257620002726200023a565b808516156200028057918102915b93841c939080029062000253565b509250929050565b5f82620002a65750600162000343565b81620002b457505f62000343565b8160018114620002cd5760028114620002d857620002f8565b600191505062000343565b60ff841115620002ec57620002ec6200023a565b50506001821b62000343565b5060208310610133831016604e8410600b84101617156200031d575081810a62000343565b6200032983836200024e565b805f19048211156200033f576200033f6200023a565b0290505b92915050565b5f6200035960ff84168362000296565b9392505050565b80820281158282048414176200034357620003436200023a565b61183b80620003885f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102e1578063bf474bed14610300578063c876d0b914610315578063c9567bf91461032e578063dd62ed3e14610342575f80fd5b80637d1db4a5146102465780638da5cb5b1461025b5780638f9a55c01461028157806395d89b4114610296578063a1780c18146102cd575f80fd5b806323b872dd116100e357806323b872dd146101ae578063313ce567146101cd57806370a08231146101e8578063715018a61461021c578063751039fc14610232575f80fd5b806306fdde031461011e578063095ea7b3146101485780630faee56f1461017757806318160ddd1461019a575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b50610132610386565b60405161013f919061140c565b60405180910390f35b348015610153575f80fd5b5061016761016236600461146e565b6103a6565b604051901515815260200161013f565b348015610182575f80fd5b5061018c60115481565b60405190815260200161013f565b3480156101a5575f80fd5b5061018c6103bc565b3480156101b9575f80fd5b506101676101c8366004611498565b6103dc565b3480156101d8575f80fd5b506040516009815260200161013f565b3480156101f3575f80fd5b5061018c6102023660046114d6565b6001600160a01b03165f9081526001602052604090205490565b348015610227575f80fd5b50610230610443565b005b34801561023d575f80fd5b506102306104bd565b348015610251575f80fd5b5061018c600e5481565b348015610266575f80fd5b505f546040516001600160a01b03909116815260200161013f565b34801561028c575f80fd5b5061018c600f5481565b3480156102a1575f80fd5b5060408051808201909152600f81526e10925510d3d25391d49150551154d5608a1b6020820152610132565b3480156102d8575f80fd5b50610230610578565b3480156102ec575f80fd5b506101676102fb36600461146e565b6105d8565b34801561030b575f80fd5b5061018c60105481565b348015610320575f80fd5b506005546101679060ff1681565b348015610339575f80fd5b506102306105e4565b34801561034d575f80fd5b5061018c61035c3660046114f1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b60606040518060600160405280602281526020016117e460229139905090565b5f6103b233848461098d565b5060015b92915050565b5f6103c96009600a61161c565b6103d790633b9aca0061162a565b905090565b5f6103e8848484610ab0565b6104398433610434856040518060600160405280602881526020016117bc602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611084565b61098d565b5060019392505050565b5f546001600160a01b031633146104755760405162461bcd60e51b815260040161046c90611641565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104e65760405162461bcd60e51b815260040161046c90611641565b6104f26009600a61161c565b61050090633b9aca0061162a565b600e5561050f6009600a61161c565b61051d90633b9aca0061162a565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105576009600a61161c565b61056590633b9aca0061162a565b60405190815260200160405180910390a1565b60055461010090046001600160a01b0316336001600160a01b03161461059c575f80fd5b305f9081526001602052604090205480156105ba576105ba816110bc565b476729a2241af62c00008111156105d4576105d48161122c565b5050565b5f6103b2338484610ab0565b5f546001600160a01b0316331461060d5760405162461bcd60e51b815260040161046c90611641565b601354600160a01b900460ff16156106675760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046c565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106b09030906106a26009600a61161c565b61043490633b9aca0061162a565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190611676565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190611676565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611676565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061085c816001600160a01b03165f9081526001602052604090205490565b5f8061086f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108fa9190611691565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561094f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097391906116bc565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109ef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046c565b6001600160a01b038216610a505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046c565b6001600160a01b038216610b765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046c565b5f8111610bd75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046c565b5f80546001600160a01b03858116911614801590610c0257505f546001600160a01b03848116911614155b15610f4757610c336064610c2d600a54600d5411610c2257600654610c26565b6008545b8590611267565b906112ec565b60055490915060ff1615610d19576012546001600160a01b03848116911614801590610c6d57506013546001600160a01b03848116911614155b15610d1957325f908152600460205260409020544311610d075760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161046c565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d4457506012546001600160a01b03848116911614155b8015610d6857506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4e57600e54821115610dbf5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161046c565b600f5482610de1856001600160a01b03165f9081526001602052604090205490565b610deb91906116db565b1115610e395760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161046c565b600d8054905f610e48836116ee565b91905055505b6013546001600160a01b038481169116148015610e7457506001600160a01b0384163014155b15610ea157610e9e6064610c2d600b54600d5411610e9457600754610c26565b6009548590611267565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ed757506013546001600160a01b038581169116145b8015610eec5750601354600160b01b900460ff165b8015610ef9575060105481115b8015610f085750600c54600d54115b15610f4557610f2a610f2584610f208460115461132d565b61132d565b6110bc565b4766b1a2bc2ec50000811115610f4357610f434761122c565b505b505b8015610fbf57305f90815260016020526040902054610f669082611341565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb69085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fe1908361139f565b6001600160a01b0385165f90815260016020526040902055611024611006838361139f565b6001600160a01b0385165f9081526001602052604090205490611341565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61106d858561139f565b60405190815260200160405180910390a350505050565b5f81848411156110a75760405162461bcd60e51b815260040161046c919061140c565b505f6110b38486611706565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110257611102611719565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611159573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117d9190611676565b8160018151811061119057611190611719565b6001600160a01b0392831660209182029290920101526012546111b6913091168461098d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ee9085905f9086903090429060040161172d565b5f604051808303815f87803b158015611205575f80fd5b505af1158015611217573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105d4573d5f803e3d5ffd5b5f825f0361127657505f6103b6565b5f611281838561162a565b90508261128e858361179c565b146112e55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046c565b9392505050565b5f6112e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e0565b5f81831161133b57826112e5565b50919050565b5f8061134d83856116db565b9050838110156112e55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046c565b5f6112e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611084565b5f81836114005760405162461bcd60e51b815260040161046c919061140c565b505f6110b3848661179c565b5f6020808352835180828501525f5b818110156114375785810183015185820160400152820161141b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146b575f80fd5b50565b5f806040838503121561147f575f80fd5b823561148a81611457565b946020939093013593505050565b5f805f606084860312156114aa575f80fd5b83356114b581611457565b925060208401356114c581611457565b929592945050506040919091013590565b5f602082840312156114e6575f80fd5b81356112e581611457565b5f8060408385031215611502575f80fd5b823561150d81611457565b9150602083013561151d81611457565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157657815f190482111561155c5761155c611528565b8085161561156957918102915b93841c9390800290611541565b509250929050565b5f8261158c575060016103b6565b8161159857505f6103b6565b81600181146115ae57600281146115b8576115d4565b60019150506103b6565b60ff8411156115c9576115c9611528565b50506001821b6103b6565b5060208310610133831016604e8410600b84101617156115f7575081810a6103b6565b611601838361153c565b805f190482111561161457611614611528565b029392505050565b5f6112e560ff84168361157e565b80820281158282048414176103b6576103b6611528565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611686575f80fd5b81516112e581611457565b5f805f606084860312156116a3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116cc575f80fd5b815180151581146112e5575f80fd5b808201808211156103b6576103b6611528565b5f600182016116ff576116ff611528565b5060010190565b818103818111156103b6576103b6611528565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561177b5784516001600160a01b031683529383019391830191600101611756565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654861727279506f747465724f62616d61536f6e69633130496e754772656174657374a2646970667358221220e84801b8690f7798037b9382da7e5f45ac3c4e9bdd10294b9c297e1d9942014b64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102e1578063bf474bed14610300578063c876d0b914610315578063c9567bf91461032e578063dd62ed3e14610342575f80fd5b80637d1db4a5146102465780638da5cb5b1461025b5780638f9a55c01461028157806395d89b4114610296578063a1780c18146102cd575f80fd5b806323b872dd116100e357806323b872dd146101ae578063313ce567146101cd57806370a08231146101e8578063715018a61461021c578063751039fc14610232575f80fd5b806306fdde031461011e578063095ea7b3146101485780630faee56f1461017757806318160ddd1461019a575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b50610132610386565b60405161013f919061140c565b60405180910390f35b348015610153575f80fd5b5061016761016236600461146e565b6103a6565b604051901515815260200161013f565b348015610182575f80fd5b5061018c60115481565b60405190815260200161013f565b3480156101a5575f80fd5b5061018c6103bc565b3480156101b9575f80fd5b506101676101c8366004611498565b6103dc565b3480156101d8575f80fd5b506040516009815260200161013f565b3480156101f3575f80fd5b5061018c6102023660046114d6565b6001600160a01b03165f9081526001602052604090205490565b348015610227575f80fd5b50610230610443565b005b34801561023d575f80fd5b506102306104bd565b348015610251575f80fd5b5061018c600e5481565b348015610266575f80fd5b505f546040516001600160a01b03909116815260200161013f565b34801561028c575f80fd5b5061018c600f5481565b3480156102a1575f80fd5b5060408051808201909152600f81526e10925510d3d25391d49150551154d5608a1b6020820152610132565b3480156102d8575f80fd5b50610230610578565b3480156102ec575f80fd5b506101676102fb36600461146e565b6105d8565b34801561030b575f80fd5b5061018c60105481565b348015610320575f80fd5b506005546101679060ff1681565b348015610339575f80fd5b506102306105e4565b34801561034d575f80fd5b5061018c61035c3660046114f1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b60606040518060600160405280602281526020016117e460229139905090565b5f6103b233848461098d565b5060015b92915050565b5f6103c96009600a61161c565b6103d790633b9aca0061162a565b905090565b5f6103e8848484610ab0565b6104398433610434856040518060600160405280602881526020016117bc602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611084565b61098d565b5060019392505050565b5f546001600160a01b031633146104755760405162461bcd60e51b815260040161046c90611641565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104e65760405162461bcd60e51b815260040161046c90611641565b6104f26009600a61161c565b61050090633b9aca0061162a565b600e5561050f6009600a61161c565b61051d90633b9aca0061162a565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105576009600a61161c565b61056590633b9aca0061162a565b60405190815260200160405180910390a1565b60055461010090046001600160a01b0316336001600160a01b03161461059c575f80fd5b305f9081526001602052604090205480156105ba576105ba816110bc565b476729a2241af62c00008111156105d4576105d48161122c565b5050565b5f6103b2338484610ab0565b5f546001600160a01b0316331461060d5760405162461bcd60e51b815260040161046c90611641565b601354600160a01b900460ff16156106675760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046c565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106b09030906106a26009600a61161c565b61043490633b9aca0061162a565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190611676565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190611676565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611676565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061085c816001600160a01b03165f9081526001602052604090205490565b5f8061086f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108fa9190611691565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561094f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097391906116bc565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109ef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046c565b6001600160a01b038216610a505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046c565b6001600160a01b038216610b765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046c565b5f8111610bd75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046c565b5f80546001600160a01b03858116911614801590610c0257505f546001600160a01b03848116911614155b15610f4757610c336064610c2d600a54600d5411610c2257600654610c26565b6008545b8590611267565b906112ec565b60055490915060ff1615610d19576012546001600160a01b03848116911614801590610c6d57506013546001600160a01b03848116911614155b15610d1957325f908152600460205260409020544311610d075760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161046c565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d4457506012546001600160a01b03848116911614155b8015610d6857506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4e57600e54821115610dbf5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161046c565b600f5482610de1856001600160a01b03165f9081526001602052604090205490565b610deb91906116db565b1115610e395760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161046c565b600d8054905f610e48836116ee565b91905055505b6013546001600160a01b038481169116148015610e7457506001600160a01b0384163014155b15610ea157610e9e6064610c2d600b54600d5411610e9457600754610c26565b6009548590611267565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ed757506013546001600160a01b038581169116145b8015610eec5750601354600160b01b900460ff165b8015610ef9575060105481115b8015610f085750600c54600d54115b15610f4557610f2a610f2584610f208460115461132d565b61132d565b6110bc565b4766b1a2bc2ec50000811115610f4357610f434761122c565b505b505b8015610fbf57305f90815260016020526040902054610f669082611341565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb69085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fe1908361139f565b6001600160a01b0385165f90815260016020526040902055611024611006838361139f565b6001600160a01b0385165f9081526001602052604090205490611341565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61106d858561139f565b60405190815260200160405180910390a350505050565b5f81848411156110a75760405162461bcd60e51b815260040161046c919061140c565b505f6110b38486611706565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110257611102611719565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611159573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117d9190611676565b8160018151811061119057611190611719565b6001600160a01b0392831660209182029290920101526012546111b6913091168461098d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ee9085905f9086903090429060040161172d565b5f604051808303815f87803b158015611205575f80fd5b505af1158015611217573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156105d4573d5f803e3d5ffd5b5f825f0361127657505f6103b6565b5f611281838561162a565b90508261128e858361179c565b146112e55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046c565b9392505050565b5f6112e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e0565b5f81831161133b57826112e5565b50919050565b5f8061134d83856116db565b9050838110156112e55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046c565b5f6112e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611084565b5f81836114005760405162461bcd60e51b815260040161046c919061140c565b505f6110b3848661179c565b5f6020808352835180828501525f5b818110156114375785810183015185820160400152820161141b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146b575f80fd5b50565b5f806040838503121561147f575f80fd5b823561148a81611457565b946020939093013593505050565b5f805f606084860312156114aa575f80fd5b83356114b581611457565b925060208401356114c581611457565b929592945050506040919091013590565b5f602082840312156114e6575f80fd5b81356112e581611457565b5f8060408385031215611502575f80fd5b823561150d81611457565b9150602083013561151d81611457565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157657815f190482111561155c5761155c611528565b8085161561156957918102915b93841c9390800290611541565b509250929050565b5f8261158c575060016103b6565b8161159857505f6103b6565b81600181146115ae57600281146115b8576115d4565b60019150506103b6565b60ff8411156115c9576115c9611528565b50506001821b6103b6565b5060208310610133831016604e8410600b84101617156115f7575081810a6103b6565b611601838361153c565b805f190482111561161457611614611528565b029392505050565b5f6112e560ff84168361157e565b80820281158282048414176103b6576103b6611528565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611686575f80fd5b81516112e581611457565b5f805f606084860312156116a3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116cc575f80fd5b815180151581146112e5575f80fd5b808201808211156103b6576103b6611528565b5f600182016116ff576116ff611528565b5060010190565b818103818111156103b6576103b6611528565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561177b5784516001600160a01b031683529383019391830191600101611756565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654861727279506f747465724f62616d61536f6e69633130496e754772656174657374a2646970667358221220e84801b8690f7798037b9382da7e5f45ac3c4e9bdd10294b9c297e1d9942014b64736f6c63430008150033

Deployed Bytecode Sourcemap

3588:8009:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5519:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6352:161;;;;;;;;;;-1:-1:-1;6352:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6352:161:0;1023:187:1;4794:52:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4794:52:0;1215:177:1;5796:95:0;;;;;;;;;;;;;:::i;6521:313::-;;;;;;;;;;-1:-1:-1;6521:313:0;;;;;:::i;:::-;;:::i;5705:83::-;;;;;;;;;;-1:-1:-1;5705:83:0;;4383:1;2000:36:1;;1988:2;1973:18;5705:83:0;1858:184:1;5899:119:0;;;;;;;;;;-1:-1:-1;5899:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5992:18:0;5965:7;5992:18;;;:9;:18;;;;;;;5899:119;2669:148;;;;;;;;;;;;;:::i;:::-;;10206:196;;;;;;;;;;;;;:::i;4606:54::-;;;;;;;;;;;;;;;;2455:79;;;;;;;;;;-1:-1:-1;2493:7:0;2520:6;2455:79;;-1:-1:-1;;;;;2520:6:0;;;2445:51:1;;2433:2;2418:18;2455:79:0;2299:203:1;4667:56:0;;;;;;;;;;;;;;;;5610:87;;;;;;;;;;-1:-1:-1;5682:7:0;;;;;;;;;;;;-1:-1:-1;;;5682:7:0;;;;5610:87;;11228:366;;;;;;;;;;;;;:::i;6026:167::-;;;;;;;;;;-1:-1:-1;6026:167:0;;;;;:::i;:::-;;:::i;4730:57::-;;;;;;;;;;;;;;;;3940:39;;;;;;;;;;-1:-1:-1;3940:39:0;;;;;;;;10512:671;;;;;;;;;;;;;:::i;6201:143::-;;;;;;;;;;-1:-1:-1;6201:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6309:18:0;;;6282:7;6309:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6201:143;5519:83;5556:13;5589:5;;;;;;;;;;;;;;;;;5582:12;;5519:83;:::o;6352:161::-;6427:4;6444:39;290:10;6467:7;6476:6;6444:8;:39::i;:::-;-1:-1:-1;6501:4:0;6352:161;;;;;:::o;5796:95::-;5849:7;4439:13;4383:1;4439:2;:13;:::i;:::-;4426:26;;:10;:26;:::i;:::-;5869:14;;5796:95;:::o;6521:313::-;6619:4;6636:36;6646:6;6654:9;6665:6;6636:9;:36::i;:::-;6683:121;6692:6;290:10;6714:89;6752:6;6714:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6714:19:0;;;;;;:11;:19;;;;;;;;290:10;6714:33;;;;;;;;;;:37;:89::i;:::-;6683:8;:121::i;:::-;-1:-1:-1;6822:4:0;6521:313;;;;;:::o;2669:148::-;2582:6;;-1:-1:-1;;;;;2582:6:0;290:10;2582:22;2574:67;;;;-1:-1:-1;;;2574:67:0;;;;;;;:::i;:::-;;;;;;;;;2776:1:::1;2760:6:::0;;2739:40:::1;::::0;-1:-1:-1;;;;;2760:6:0;;::::1;::::0;2739:40:::1;::::0;2776:1;;2739:40:::1;2807:1;2790:19:::0;;-1:-1:-1;;;;;;2790:19:0::1;::::0;;2669:148::o;10206:196::-;2582:6;;-1:-1:-1;;;;;2582:6:0;290:10;2582:22;2574:67;;;;-1:-1:-1;;;2574:67:0;;;;;;;:::i;:::-;4439:13:::1;4383:1;4439:2;:13;:::i;:::-;4426:26;::::0;:10:::1;:26;:::i;:::-;10259:12;:22:::0;4439:13:::1;4383:1;4439:2;:13;:::i;:::-;4426:26;::::0;:10:::1;:26;:::i;:::-;10292:14;:22:::0;10325:20:::1;:26:::0;;-1:-1:-1;;10325:26:0::1;::::0;;10367:27:::1;4439:13;4383:1;-1:-1:-1::0;4439:13:0::1;:::i;:::-;4426:26;::::0;:10:::1;:26;:::i;:::-;10367:27;::::0;1361:25:1;;;1349:2;1334:18;10367:27:0::1;;;;;;;10206:196::o:0;11228:366::-;11292:10;;;;;-1:-1:-1;;;;;11292:10:0;290;-1:-1:-1;;;;;11278:24:0;;11270:33;;;;;;11353:4;11314:20;5992:18;;;:9;:18;;;;;;11373:14;;11370:73;;11401:30;11418:12;11401:16;:30::i;:::-;11472:21;11518:19;11507:30;;11504:83;;;11551:24;11564:10;11551:12;:24::i;:::-;11259:335;;11228:366::o;6026:167::-;6104:4;6121:42;290:10;6145:9;6156:6;6121:9;:42::i;10512:671::-;2582:6;;-1:-1:-1;;;;;2582:6:0;290:10;2582:22;2574:67;;;;-1:-1:-1;;;2574:67:0;;;;;;;:::i;:::-;10576:11:::1;::::0;-1:-1:-1;;;10576:11:0;::::1;;;10575:12;10567:47;;;::::0;-1:-1:-1;;;10567:47:0;;5151:2:1;10567:47:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;10567:47:0::1;4949:347:1::0;10567:47:0::1;10625:15;:80:::0;;-1:-1:-1;;;;;;10625:80:0::1;10662:42;10625:80:::0;;::::1;::::0;;;10716:58:::1;::::0;10733:4:::1;::::0;4439:13:::1;4383:1;4439:2;:13;:::i;:::-;4426:26;::::0;:10:::1;:26;:::i;10716:58::-;10819:15;;;;;;;;;-1:-1:-1::0;;;;;10819:15:0::1;-1:-1:-1::0;;;;;10819:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10801:55:0::1;;10865:4;10872:15;;;;;;;;;-1:-1:-1::0;;;;;10872:15:0::1;-1:-1:-1::0;;;;;10872:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10801:94;::::0;-1:-1:-1;;;;;;10801:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;10801:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;10801:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10785:13;:110:::0;;-1:-1:-1;;;;;10785:110:0;;::::1;-1:-1:-1::0;;;;;;10785:110:0;;::::1;;::::0;;10906:15:::1;::::0;::::1;:31;10945:21;10976:4;10982:24;10976:4:::0;-1:-1:-1;;;;;5992:18:0;5965:7;5992:18;;;:9;:18;;;;;;;5899:119;10982:24:::1;11007:1;11009::::0;11011:7:::1;2493::::0;2520:6;-1:-1:-1;;;;;2520:6:0;;2455:79;11011:7:::1;10906:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10906:129:0;;;-1:-1:-1;;;;;6225:15:1;;;10906:129:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;11019:15:0::1;6439:19:1::0;;;6432:35;6141:19;;10906:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11053:13:0::1;::::0;11084:15:::1;::::0;11046:71:::1;::::0;-1:-1:-1;;;11046:71:0;;-1:-1:-1;;;;;11084:15:0;;::::1;11046:71;::::0;::::1;6963:51:1::0;-1:-1:-1;;7030:18:1;;;7023:34;11053:13:0;::::1;::::0;-1:-1:-1;11046:29:0::1;::::0;6936:18:1;;11046:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11128:11:0::1;:18:::0;;-1:-1:-1;;;;11157:18:0;-1:-1:-1;;;11157:18:0;;;10512:671::o;6842:335::-;-1:-1:-1;;;;;6935:19:0;;6927:68;;;;-1:-1:-1;;;6927:68:0;;7552:2:1;6927:68:0;;;7534:21:1;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:34;7725:19;;6927:68:0;7350:400:1;6927:68:0;-1:-1:-1;;;;;7014:21:0;;7006:68;;;;-1:-1:-1;;;7006:68:0;;7957:2:1;7006:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:32;8128:19;;7006:68:0;7755:398:1;7006:68:0;-1:-1:-1;;;;;7085:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7137:32;;1361:25:1;;;7137:32:0;;1334:18:1;7137:32:0;;;;;;;6842:335;;;:::o;7185:2414::-;-1:-1:-1;;;;;7273:18:0;;7265:68;;;;-1:-1:-1;;;7265:68:0;;8360:2:1;7265:68:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:34;8418:18;;;8411:62;-1:-1:-1;;;8489:18:1;;;8482:35;8534:19;;7265:68:0;8158:401:1;7265:68:0;-1:-1:-1;;;;;7352:16:0;;7344:64;;;;-1:-1:-1;;;7344:64:0;;8766:2:1;7344:64:0;;;8748:21:1;8805:2;8785:18;;;8778:30;8844:34;8824:18;;;8817:62;-1:-1:-1;;;8895:18:1;;;8888:33;8938:19;;7344:64:0;8564:399:1;7344:64:0;7436:1;7427:6;:10;7419:64;;;;-1:-1:-1;;;7419:64:0;;9170:2:1;7419:64:0;;;9152:21:1;9209:2;9189:18;;;9182:30;9248:34;9228:18;;;9221:62;-1:-1:-1;;;9299:18:1;;;9292:39;9348:19;;7419:64:0;8968:405:1;7419:64:0;7494:17;2520:6;;-1:-1:-1;;;;;7528:15:0;;;2520:6;;7528:15;;;;:32;;-1:-1:-1;2493:7:0;2520:6;-1:-1:-1;;;;;7547:13:0;;;2520:6;;7547:13;;7528:32;7524:1719;;;7589:76;7661:3;7589:67;7611:15;;7601:9;;:25;7600:55;;7641:14;;7600:55;;;7628:12;;7600:55;7589:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7686:20;;7577:88;;-1:-1:-1;7686:20:0;;7682:508;;;7747:15;;-1:-1:-1;;;;;7733:30:0;;;7747:15;;7733:30;;;;:62;;-1:-1:-1;7781:13:0;;-1:-1:-1;;;;;7767:28:0;;;7781:13;;7767:28;;7733:62;7729:444;;;7887:9;7858:39;;;;:28;:39;;;;;;7931:12;-1:-1:-1;7822:250:0;;;;-1:-1:-1;;;7822:250:0;;9580:2:1;7822:250:0;;;9562:21:1;9619:2;9599:18;;;9592:30;9658:34;9638:18;;;9631:62;9729:34;9709:18;;;9702:62;-1:-1:-1;;;9780:19:1;;;9773:40;9830:19;;7822:250:0;9378:477:1;7822:250:0;8126:9;8097:39;;;;:28;:39;;;;;8139:12;8097:54;;7729:444;8218:13;;-1:-1:-1;;;;;8210:21:0;;;8218:13;;8210:21;:55;;;;-1:-1:-1;8249:15:0;;-1:-1:-1;;;;;8235:30:0;;;8249:15;;8235:30;;8210:55;:83;;;;-1:-1:-1;;;;;;8271:22:0;;;;;;:18;:22;;;;;;;;8269:24;8210:83;8206:313;;;8333:12;;8323:6;:22;;8315:60;;;;-1:-1:-1;;;8315:60:0;;10062:2:1;8315:60:0;;;10044:21:1;10101:2;10081:18;;;10074:30;10140:27;10120:18;;;10113:55;10185:18;;8315:60:0;9860:349:1;8315:60:0;8428:14;;8418:6;8402:13;8412:2;-1:-1:-1;;;;;5992:18:0;5965:7;5992:18;;;:9;:18;;;;;;;5899:119;8402:13;:22;;;;:::i;:::-;:40;;8394:79;;;;-1:-1:-1;;;8394:79:0;;10546:2:1;8394:79:0;;;10528:21:1;10585:2;10565:18;;;10558:30;10624:28;10604:18;;;10597:56;10670:18;;8394:79:0;10344:350:1;8394:79:0;8492:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8206:313;8544:13;;-1:-1:-1;;;;;8538:19:0;;;8544:13;;8538:19;:43;;;;-1:-1:-1;;;;;;8561:20:0;;8576:4;8561:20;;8538:43;8535:174;;;8614:79;8689:3;8614:70;8636:16;;8626:9;;:26;8625:58;;8668:15;;8625:58;;;8654:13;;8614:6;;:10;:70::i;:79::-;8602:91;;8535:174;8774:4;8725:28;5992:18;;;:9;:18;;;;;;8800:6;;-1:-1:-1;;;8800:6:0;;;;8799:7;:32;;;;-1:-1:-1;8818:13:0;;-1:-1:-1;;;;;8810:21:0;;;8818:13;;8810:21;8799:32;:47;;;;-1:-1:-1;8835:11:0;;-1:-1:-1;;;8835:11:0;;;;8799:47;:89;;;;;8871:17;;8850:20;:38;8799:89;:121;;;;;8902:18;;8892:9;;:28;8799:121;8795:437;;;8941:67;8958:49;8962:6;8969:37;8973:20;8994:11;;8969:3;:37::i;:::-;8958:3;:49::i;:::-;8941:16;:67::i;:::-;9056:21;9120:17;9099:38;;9096:121;;;9162:35;9175:21;9162:12;:35::i;:::-;8922:310;8795:437;7562:1681;7524:1719;9258:11;;9255:161;;9326:4;9308:24;;;;:9;:24;;;;;;:39;;9337:9;9308:28;:39::i;:::-;9301:4;9283:24;;;;:9;:24;;;;;;;:64;;;;9365:39;;-1:-1:-1;;;;;9365:39:0;;;;;;;9394:9;1361:25:1;;1349:2;1334:18;;1215:177;9365:39:0;;;;;;;;9255:161;-1:-1:-1;;;;;9442:15:0;;;;;;:9;:15;;;;;;:27;;9462:6;9442:19;:27::i;:::-;-1:-1:-1;;;;;9426:15:0;;;;;;:9;:15;;;;;:43;9494:40;9512:21;:6;9523:9;9512:10;:21::i;:::-;-1:-1:-1;;;;;9494:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9480:13:0;;;;;;;:9;:13;;;;;:54;;;;9550:41;;;9569:21;:6;9580:9;9569:10;:21::i;:::-;9550:41;;1361:25:1;;;1349:2;1334:18;9550:41:0;;;;;;;7254:2345;7185:2414;;;:::o;1347:190::-;1433:7;1469:12;1461:6;;;;1453:29;;;;-1:-1:-1;;;1453:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1493:9:0;1505:5;1509:1;1505;:5;:::i;:::-;1493:17;1347:190;-1:-1:-1;;;;;1347:190:0:o;9715:483::-;5128:6;:13;;-1:-1:-1;;;;5128:13:0;-1:-1:-1;;;5128:13:0;;;9817:16:::1;::::0;;9831:1:::1;9817:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9817:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9817:16:0::1;9793:40;;9862:4;9844;9849:1;9844:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9844:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9888:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9888:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9844:7;;9888:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9878:4;9883:1;9878:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9878:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9953:15:::1;::::0;9921:62:::1;::::0;9938:4:::1;::::0;9953:15:::1;9971:11:::0;9921:8:::1;:62::i;:::-;9994:15;::::0;:196:::1;::::0;-1:-1:-1;;;9994:196:0;;-1:-1:-1;;;;;9994:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10075:11;;9994:15:::1;::::0;10117:4;;10144::::1;::::0;10164:15:::1;::::0;9994:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5164:6:0;:14;;-1:-1:-1;;;;5164:14:0;;;-1:-1:-1;;;;9715:483:0:o;10410:92::-;10467:10;;:27;;:10;;;;-1:-1:-1;;;;;10467:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1545:246;1603:7;1627:1;1632;1627:6;1623:47;;-1:-1:-1;1657:1:0;1650:8;;1623:47;1680:9;1692:5;1696:1;1692;:5;:::i;:::-;1680:17;-1:-1:-1;1725:1:0;1716:5;1720:1;1680:17;1716:5;:::i;:::-;:10;1708:56;;;;-1:-1:-1;;;1708:56:0;;12645:2:1;1708:56:0;;;12627:21:1;12684:2;12664:18;;;12657:30;12723:34;12703:18;;;12696:62;-1:-1:-1;;;12774:18:1;;;12767:31;12815:19;;1708:56:0;12443:397:1;1708:56:0;1782:1;1545:246;-1:-1:-1;;;1545:246:0:o;1799:132::-;1857:7;1884:39;1888:1;1891;1884:39;;;;;;;;;;;;;;;;;:3;:39::i;9609:98::-;9666:7;9693:1;9691;:3;9690:9;;9698:1;9690:9;;;-1:-1:-1;9696:1:0;9609:98;-1:-1:-1;9609:98:0:o;1016:179::-;1074:7;;1106:5;1110:1;1106;:5;:::i;:::-;1094:17;;1135:1;1130;:6;;1122:46;;;;-1:-1:-1;;;1122:46:0;;13047:2:1;1122:46:0;;;13029:21:1;13086:2;13066:18;;;13059:30;13125:29;13105:18;;;13098:57;13172:18;;1122:46:0;12845:351:1;1203:136:0;1261:7;1288:43;1292:1;1295;1288:43;;;;;;;;;;;;;;;;;:3;:43::i;1939:189::-;2025:7;2060:12;2053:5;2045:28;;;;-1:-1:-1;;;2045:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2084:9:0;2096:5;2100:1;2096;: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:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;7068:277::-;7135:6;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7236:9;7230:16;7289:5;7282:13;7275:21;7268:5;7265:32;7255:60;;7311:1;7308;7301:12;10214:125;10279:9;;;10300:10;;;10297:36;;;10313:18;;:::i;10699:135::-;10738:3;10759:17;;;10756:43;;10779:18;;:::i;:::-;-1:-1:-1;10826:1:1;10815:13;;10699:135::o;10839:128::-;10906:9;;;10927:11;;;10924:37;;;10941:18;;:::i;11104:127::-;11165:10;11160:3;11156:20;11153:1;11146:31;11196:4;11193:1;11186:15;11220:4;11217:1;11210:15;11236:980;11498:4;11546:3;11535:9;11531:19;11577:6;11566:9;11559:25;11603:2;11641:6;11636:2;11625:9;11621:18;11614:34;11684:3;11679:2;11668:9;11664:18;11657:31;11708:6;11743;11737:13;11774:6;11766;11759:22;11812:3;11801:9;11797:19;11790:26;;11851:2;11843:6;11839:15;11825:29;;11872:1;11882:195;11896:6;11893:1;11890:13;11882:195;;;11961:13;;-1:-1:-1;;;;;11957:39:1;11945:52;;12052:15;;;;12017:12;;;;11993:1;11911:9;11882:195;;;-1:-1:-1;;;;;;;12133:32:1;;;;12128:2;12113:18;;12106:60;-1:-1:-1;;;12197:3:1;12182:19;12175:35;12094:3;11236:980;-1:-1:-1;;;11236:980:1:o;12221:217::-;12261:1;12287;12277:132;;12331:10;12326:3;12322:20;12319:1;12312:31;12366:4;12363:1;12356:15;12394:4;12391:1;12384:15;12277:132;-1:-1:-1;12423:9:1;;12221:217::o

Swarm Source

ipfs://e84801b8690f7798037b9382da7e5f45ac3c4e9bdd10294b9c297e1d9942014b

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.