ETH Price: $3,895.38 (+6.30%)

Contract

0xa3886279847E8CE56347D25bAa1D4120570BEAB7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210197542024-10-22 7:53:3543 days ago1729583615IN
0xa3886279...0570BEAB7
0 ETH0.000344527.39692031
Approve209243292024-10-09 0:05:2357 days ago1728432323IN
0xa3886279...0570BEAB7
0 ETH0.0011285824.35598191
Approve209236102024-10-08 21:40:3557 days ago1728423635IN
0xa3886279...0570BEAB7
0 ETH0.0012985828.06115543
Approve209218402024-10-08 15:44:5957 days ago1728402299IN
0xa3886279...0570BEAB7
0 ETH0.0020047243.04106244
Approve209215882024-10-08 14:54:2357 days ago1728399263IN
0xa3886279...0570BEAB7
0 ETH0.0016739635.93976198
Approve209215792024-10-08 14:52:3557 days ago1728399155IN
0xa3886279...0570BEAB7
0 ETH0.0018096738.85330908
Approve209180442024-10-08 3:03:3558 days ago1728356615IN
0xa3886279...0570BEAB7
0 ETH0.0004793310.29122574
Approve209038942024-10-06 3:42:3559 days ago1728186155IN
0xa3886279...0570BEAB7
0 ETH0.000226964.87293974
Approve209024772024-10-05 22:58:3560 days ago1728169115IN
0xa3886279...0570BEAB7
0 ETH0.000401378.61754681
Approve209016342024-10-05 20:09:4760 days ago1728158987IN
0xa3886279...0570BEAB7
0 ETH0.000419639.00951865
Approve209004612024-10-05 16:14:3560 days ago1728144875IN
0xa3886279...0570BEAB7
0 ETH0.000167586.29623908
Approve209004612024-10-05 16:14:3560 days ago1728144875IN
0xa3886279...0570BEAB7
0 ETH0.000167536.29423908
Approve209004612024-10-05 16:14:3560 days ago1728144875IN
0xa3886279...0570BEAB7
0 ETH0.000167586.29623908
Approve209004612024-10-05 16:14:3560 days ago1728144875IN
0xa3886279...0570BEAB7
0 ETH0.000292786.29423908
Approve209004402024-10-05 16:10:2360 days ago1728144623IN
0xa3886279...0570BEAB7
0 ETH0.0005776512.40208823
Approve209004282024-10-05 16:07:5960 days ago1728144479IN
0xa3886279...0570BEAB7
0 ETH0.0006344813.63985236
Transfer209004272024-10-05 16:07:4760 days ago1728144467IN
0xa3886279...0570BEAB7
0 ETH0.0005286211.23881569
Approve209004222024-10-05 16:06:4760 days ago1728144407IN
0xa3886279...0570BEAB7
0 ETH0.000410668.88551998
Approve209004162024-10-05 16:05:3560 days ago1728144335IN
0xa3886279...0570BEAB7
0 ETH0.0004718110.12970881
Approve209004132024-10-05 16:04:5960 days ago1728144299IN
0xa3886279...0570BEAB7
0 ETH0.0004772810.2471524
Approve209004122024-10-05 16:04:4760 days ago1728144287IN
0xa3886279...0570BEAB7
0 ETH0.000473510.16601667
Approve209004022024-10-05 16:02:4760 days ago1728144167IN
0xa3886279...0570BEAB7
0 ETH0.000551111.83206904
Approve209004002024-10-05 16:02:2360 days ago1728144143IN
0xa3886279...0570BEAB7
0 ETH0.000459259.86007704
Approve209003932024-10-05 16:00:5960 days ago1728144059IN
0xa3886279...0570BEAB7
0 ETH0.000417648.96683602
Approve209003872024-10-05 15:59:4760 days ago1728143987IN
0xa3886279...0570BEAB7
0 ETH0.00043119.25584287
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
209004542024-10-05 16:13:1160 days ago1728144791
0xa3886279...0570BEAB7
0.00586434 ETH
209004542024-10-05 16:13:1160 days ago1728144791
0xa3886279...0570BEAB7
0.00586434 ETH
209004512024-10-05 16:12:3560 days ago1728144755
0xa3886279...0570BEAB7
0.01750107 ETH
209004512024-10-05 16:12:3560 days ago1728144755
0xa3886279...0570BEAB7
0.01750107 ETH
209004512024-10-05 16:12:3560 days ago1728144755
0xa3886279...0570BEAB7
0.02070655 ETH
209004512024-10-05 16:12:3560 days ago1728144755
0xa3886279...0570BEAB7
0.02070655 ETH
209004302024-10-05 16:08:2360 days ago1728144503
0xa3886279...0570BEAB7
0.01721237 ETH
209004302024-10-05 16:08:2360 days ago1728144503
0xa3886279...0570BEAB7
0.01721237 ETH
209004302024-10-05 16:08:2360 days ago1728144503
0xa3886279...0570BEAB7
0.02127384 ETH
209004302024-10-05 16:08:2360 days ago1728144503
0xa3886279...0570BEAB7
0.02127384 ETH
209004282024-10-05 16:07:5960 days ago1728144479
0xa3886279...0570BEAB7
0.03337618 ETH
209004282024-10-05 16:07:5960 days ago1728144479
0xa3886279...0570BEAB7
0.03337618 ETH
209004092024-10-05 16:04:1160 days ago1728144251
0xa3886279...0570BEAB7
0.02548533 ETH
209004092024-10-05 16:04:1160 days ago1728144251
0xa3886279...0570BEAB7
0.02548533 ETH
209004002024-10-05 16:02:2360 days ago1728144143
0xa3886279...0570BEAB7
0.02321217 ETH
209004002024-10-05 16:02:2360 days ago1728144143
0xa3886279...0570BEAB7
0.02321217 ETH
209003982024-10-05 16:01:5960 days ago1728144119
0xa3886279...0570BEAB7
0.02353163 ETH
209003982024-10-05 16:01:5960 days ago1728144119
0xa3886279...0570BEAB7
0.02353163 ETH
209003962024-10-05 16:01:3560 days ago1728144095
0xa3886279...0570BEAB7
0.00780723 ETH
209003962024-10-05 16:01:3560 days ago1728144095
0xa3886279...0570BEAB7
0.00780723 ETH
209003952024-10-05 16:01:2360 days ago1728144083
0xa3886279...0570BEAB7
0.0269736 ETH
209003952024-10-05 16:01:2360 days ago1728144083
0xa3886279...0570BEAB7
0.0269736 ETH
209003912024-10-05 16:00:3560 days ago1728144035
0xa3886279...0570BEAB7
0.01962672 ETH
209003912024-10-05 16:00:3560 days ago1728144035
0xa3886279...0570BEAB7
0.01962672 ETH
209003912024-10-05 16:00:3560 days ago1728144035
0xa3886279...0570BEAB7
0.0231274 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BOUNCE

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-05
*/

// SPDX-License-Identifier: MIT

/*
@lensassaman’s and @maradydd's oldest and probably first cat, Bounce!
Sasha was first introduce by Len 2011 but Bounce was introduced way back in 2007.
Proof: https://panoptishard.livejournal.com/1936.html

Bounce was the only pet confirmed by both Satoshi and his wife
Tweet from Len:
https://x.com/lensassaman/status/80342142211465216
Confirmed again by his wife:
https://x.com/maradydd/status/1198169505240776704

Telegram: https://t.me/BounceETH
*/

pragma solidity 0.8.23;

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 BOUNCE 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 => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Satoshi's first cat";
    string private constant _symbol = unicode"BOUNCE";
    uint256 public _maxTxAmount =  2 * (_tTotal/100);
    uint256 public _maxWalletSize =  2 * (_tTotal/100);
    uint256 public _taxSwapThreshold=  1 * (_tTotal/1000);
    uint256 public _maxTaxSwap= 1 * (_tTotal/100);
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x274E1AaCD80E19D39e49AbA9835C6F18eF481746);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        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()) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _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) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        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 removeLimit() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addB(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delB(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

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

    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"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":"bots_","type":"address[]"}],"name":"addB","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","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"}]

6080604052601960065560196007555f6008555f6009556014600a556014600b556014600c555f600d555f600e5560646009600a6200003f9190620005b6565b6200004f90633b9aca00620005cd565b6200005b9190620005e7565b62000068906002620005cd565b600f5560646200007b6009600a620005b6565b6200008b90633b9aca00620005cd565b620000979190620005e7565b620000a4906002620005cd565b6010556103e8620000b86009600a620005b6565b620000c890633b9aca00620005cd565b620000d49190620005e7565b620000e1906001620005cd565b6011556064620000f46009600a620005b6565b6200010490633b9aca00620005cd565b620001109190620005e7565b6200011d906001620005cd565b6012556014805461ffff60a81b191690555f601581905560165534801562000143575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673274e1aacd80e19d39e49aba9835c6f18ef481746179055620001b86009600a620005b6565b620001c890633b9aca00620005cd565b335f908152600160208190526040822092909255600390620001f15f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600384528281208054861660019081179091556005549092168152829020805490941617909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620002a7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000607565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000353919062000607565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200039e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003c4919062000607565b601480546001600160a01b0319166001600160a01b0392831690811790915560135460405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af115801562000428573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200044e91906200062f565b50335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004806009600a620005b6565b6200049090633b9aca00620005cd565b60405190815260200160405180910390a362000650565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004fb57815f1904821115620004df57620004df620004a7565b80851615620004ed57918102915b93841c9390800290620004c0565b509250929050565b5f826200051357506001620005b0565b816200052157505f620005b0565b81600181146200053a5760028114620005455762000565565b6001915050620005b0565b60ff841115620005595762000559620004a7565b50506001821b620005b0565b5060208310610133831016604e8410600b84101617156200058a575081810a620005b0565b620005968383620004bb565b805f1904821115620005ac57620005ac620004a7565b0290505b92915050565b5f620005c660ff84168362000503565b9392505050565b8082028115828204841417620005b057620005b0620004a7565b5f826200060257634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000618575f80fd5b81516001600160a01b0381168114620005c6575f80fd5b5f6020828403121562000640575f80fd5b81518015158114620005c6575f80fd5b611890806200065e5f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b41146103585780639b8fe42214610386578063a9059cbb146103a5578063b0bac86e146103c4578063bf474bed146103d8578063dd62ed3e146103ed575f80fd5b80637d1db4a5146102d5578063874d9e3b146102ea5780638a8c523c146103095780638da5cb5b1461031d5780638f9a55c014610343575f80fd5b8063313ce567116100f9578063313ce567146102115780633bbac5791461022c57806362256589146102635780636fc3eaec1461027957806370a082311461028d578063715018a6146102c1575f80fd5b806306fdde031461013f578063095ea7b31461018c5780630faee56f146101bb57806318160ddd146101de57806323b872dd146101f2575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152601381527214d85d1bdcda1a49dcc8199a5c9cdd0818d85d606a1b60208201525b60405161018391906113be565b60405180910390f35b348015610197575f80fd5b506101ab6101a636600461142e565b610431565b6040519015158152602001610183565b3480156101c6575f80fd5b506101d060125481565b604051908152602001610183565b3480156101e9575f80fd5b506101d0610447565b3480156101fd575f80fd5b506101ab61020c366004611458565b610467565b34801561021c575f80fd5b5060405160098152602001610183565b348015610237575f80fd5b506101ab610246366004611496565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026e575f80fd5b506102776104ce565b005b348015610284575f80fd5b50610277610588565b348015610298575f80fd5b506101d06102a7366004611496565b6001600160a01b03165f9081526001602052604090205490565b3480156102cc575f80fd5b506102776105b4565b3480156102e0575f80fd5b506101d0600f5481565b3480156102f5575f80fd5b506102776103043660046114c5565b610625565b348015610314575f80fd5b506102776106ad565b348015610328575f80fd5b505f546040516001600160a01b039091168152602001610183565b34801561034e575f80fd5b506101d060105481565b348015610363575f80fd5b50604080518082019091526006815265424f554e434560d01b6020820152610176565b348015610391575f80fd5b506102776103a03660046114c5565b610847565b3480156103b0575f80fd5b506101ab6103bf36600461142e565b6108ca565b3480156103cf575f80fd5b506102776108d6565b3480156103e3575f80fd5b506101d060115481565b3480156103f8575f80fd5b506101d0610407366004611585565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61043d338484610923565b5060015b92915050565b5f6104546009600a6116b0565b61046290633b9aca006116be565b905090565b5f610473848484610a46565b6104c484336104bf85604051806060016040528060288152602001611833602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061103a565b610923565b5060019392505050565b5f546001600160a01b031633146105005760405162461bcd60e51b81526004016104f7906116d5565b60405180910390fd5b61050c6009600a6116b0565b61051a90633b9aca006116be565b600f556105296009600a6116b0565b61053790633b9aca006116be565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105676009600a6116b0565b61057590633b9aca006116be565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b0316146105a7575f80fd5b476105b181611072565b50565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104f7906116d5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461064e5760405162461bcd60e51b81526004016104f7906116d5565b5f5b81518110156106a957600160045f8484815181106106705761067061170a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610650565b5050565b5f546001600160a01b031633146106d65760405162461bcd60e51b81526004016104f7906116d5565b601454600160a01b900460ff16156107305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f7565b60135461075c9030906001600160a01b031661074e6009600a6116b0565b6104bf90633b9aca006116be565b6013546001600160a01b031663f305d719473061078d816001600160a01b03165f9081526001602052604090205490565b5f806107a05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610806573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061082b919061171e565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b031633146108705760405162461bcd60e51b81526004016104f7906116d5565b5f5b81518110156106a9575f60045f8484815181106108915761089161170a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610872565b5f61043d338484610a46565b6005546001600160a01b0316336001600160a01b0316146108f5575f80fd5b305f90815260016020526040902054801561091357610913816110a9565b4780156106a9576106a981611072565b6001600160a01b0383166109855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f7565b6001600160a01b0382166109e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aaa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f7565b6001600160a01b038216610b0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f7565b5f8111610b6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f7565b5f80546001600160a01b03858116911614801590610b9857505f546001600160a01b03848116911614155b15610efd576001600160a01b0384165f9081526004602052604090205460ff16158015610bdd57506001600160a01b0383165f9081526004602052604090205460ff16155b610be5575f80fd5b600e545f03610c1d57610c1a6064610c14600a54600e5411610c0957600654610c0d565b6008545b8590611219565b9061129e565b90505b600e5415610c4257610c3f6064610c14600d548561121990919063ffffffff16565b90505b6014546001600160a01b038581169116148015610c6d57506013546001600160a01b03848116911614155b8015610c9157506001600160a01b0383165f9081526003602052604090205460ff16155b15610d9457600f54821115610ce85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f7565b60105482610d0a856001600160a01b03165f9081526001602052604090205490565b610d149190611749565b1115610d625760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f7565b610d7d6064610c14600a54600e5411610c0957600654610c0d565b600e80549192505f610d8e8361175c565b91905055505b6014546001600160a01b038481169116148015610dba57506001600160a01b0384163014155b15610de757610de46064610c14600b54600e5411610dda57600754610c0d565b6009548590611219565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610e1d57506014546001600160a01b038581169116145b8015610e325750601454600160b01b900460ff165b8015610e3f575060115481115b8015610e4e5750600c54600e54115b15610efb57601654431115610e62575f6015555b600360155410610eb45760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f7565b610ed1610ecc84610ec7846012546112df565b6112df565b6110a9565b478015610ee157610ee147611072565b60158054905f610ef08361175c565b909155505043601655505b505b8015610f7557305f90815260016020526040902054610f1c90826112f3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f6c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f979083611351565b6001600160a01b0385165f90815260016020526040902055610fda610fbc8383611351565b6001600160a01b0385165f90815260016020526040902054906112f3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110238585611351565b60405190815260200160405180910390a350505050565b5f818484111561105d5760405162461bcd60e51b81526004016104f791906113be565b505f6110698486611774565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a9573d5f803e3d5ffd5b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110ef576110ef61170a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611146573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116a9190611787565b8160018151811061117d5761117d61170a565b6001600160a01b0392831660209182029290920101526013546111a39130911684610923565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111db9085905f908690309042906004016117a2565b5f604051808303815f87803b1580156111f2575f80fd5b505af1158015611204573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f825f0361122857505f610441565b5f61123383856116be565b9050826112408583611813565b146112975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f7565b9392505050565b5f61129783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611392565b5f8183116112ed5782611297565b50919050565b5f806112ff8385611749565b9050838110156112975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f7565b5f61129783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f81836113b25760405162461bcd60e51b81526004016104f791906113be565b505f6110698486611813565b5f602080835283518060208501525f5b818110156113ea578581018301518582016040015282016113ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b1575f80fd5b80356114298161140a565b919050565b5f806040838503121561143f575f80fd5b823561144a8161140a565b946020939093013593505050565b5f805f6060848603121561146a575f80fd5b83356114758161140a565b925060208401356114858161140a565b929592945050506040919091013590565b5f602082840312156114a6575f80fd5b81356112978161140a565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156114d6575f80fd5b823567ffffffffffffffff808211156114ed575f80fd5b818501915085601f830112611500575f80fd5b813581811115611512576115126114b1565b8060051b604051601f19603f83011681018181108582111715611537576115376114b1565b604052918252848201925083810185019188831115611554575f80fd5b938501935b828510156115795761156a8561141e565b84529385019392850192611559565b98975050505050505050565b5f8060408385031215611596575f80fd5b82356115a18161140a565b915060208301356115b18161140a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160a57815f19048211156115f0576115f06115bc565b808516156115fd57918102915b93841c93908002906115d5565b509250929050565b5f8261162057506001610441565b8161162c57505f610441565b8160018114611642576002811461164c57611668565b6001915050610441565b60ff84111561165d5761165d6115bc565b50506001821b610441565b5060208310610133831016604e8410600b841016171561168b575081810a610441565b61169583836115d0565b805f19048211156116a8576116a86115bc565b029392505050565b5f61129760ff841683611612565b8082028115828204841417610441576104416115bc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f805f60608486031215611730575f80fd5b8351925060208401519150604084015190509250925092565b80820180821115610441576104416115bc565b5f6001820161176d5761176d6115bc565b5060010190565b81810381811115610441576104416115bc565b5f60208284031215611797575f80fd5b81516112978161140a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117f25784516001600160a01b0316835293830193918301916001016117cd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201397cda30a7877e792c59b39df2ca63278d71d90c9f315c1ffd2300b85c1adce64736f6c63430008170033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b41146103585780639b8fe42214610386578063a9059cbb146103a5578063b0bac86e146103c4578063bf474bed146103d8578063dd62ed3e146103ed575f80fd5b80637d1db4a5146102d5578063874d9e3b146102ea5780638a8c523c146103095780638da5cb5b1461031d5780638f9a55c014610343575f80fd5b8063313ce567116100f9578063313ce567146102115780633bbac5791461022c57806362256589146102635780636fc3eaec1461027957806370a082311461028d578063715018a6146102c1575f80fd5b806306fdde031461013f578063095ea7b31461018c5780630faee56f146101bb57806318160ddd146101de57806323b872dd146101f2575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152601381527214d85d1bdcda1a49dcc8199a5c9cdd0818d85d606a1b60208201525b60405161018391906113be565b60405180910390f35b348015610197575f80fd5b506101ab6101a636600461142e565b610431565b6040519015158152602001610183565b3480156101c6575f80fd5b506101d060125481565b604051908152602001610183565b3480156101e9575f80fd5b506101d0610447565b3480156101fd575f80fd5b506101ab61020c366004611458565b610467565b34801561021c575f80fd5b5060405160098152602001610183565b348015610237575f80fd5b506101ab610246366004611496565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026e575f80fd5b506102776104ce565b005b348015610284575f80fd5b50610277610588565b348015610298575f80fd5b506101d06102a7366004611496565b6001600160a01b03165f9081526001602052604090205490565b3480156102cc575f80fd5b506102776105b4565b3480156102e0575f80fd5b506101d0600f5481565b3480156102f5575f80fd5b506102776103043660046114c5565b610625565b348015610314575f80fd5b506102776106ad565b348015610328575f80fd5b505f546040516001600160a01b039091168152602001610183565b34801561034e575f80fd5b506101d060105481565b348015610363575f80fd5b50604080518082019091526006815265424f554e434560d01b6020820152610176565b348015610391575f80fd5b506102776103a03660046114c5565b610847565b3480156103b0575f80fd5b506101ab6103bf36600461142e565b6108ca565b3480156103cf575f80fd5b506102776108d6565b3480156103e3575f80fd5b506101d060115481565b3480156103f8575f80fd5b506101d0610407366004611585565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61043d338484610923565b5060015b92915050565b5f6104546009600a6116b0565b61046290633b9aca006116be565b905090565b5f610473848484610a46565b6104c484336104bf85604051806060016040528060288152602001611833602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061103a565b610923565b5060019392505050565b5f546001600160a01b031633146105005760405162461bcd60e51b81526004016104f7906116d5565b60405180910390fd5b61050c6009600a6116b0565b61051a90633b9aca006116be565b600f556105296009600a6116b0565b61053790633b9aca006116be565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105676009600a6116b0565b61057590633b9aca006116be565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b0316146105a7575f80fd5b476105b181611072565b50565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104f7906116d5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461064e5760405162461bcd60e51b81526004016104f7906116d5565b5f5b81518110156106a957600160045f8484815181106106705761067061170a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610650565b5050565b5f546001600160a01b031633146106d65760405162461bcd60e51b81526004016104f7906116d5565b601454600160a01b900460ff16156107305760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f7565b60135461075c9030906001600160a01b031661074e6009600a6116b0565b6104bf90633b9aca006116be565b6013546001600160a01b031663f305d719473061078d816001600160a01b03165f9081526001602052604090205490565b5f806107a05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610806573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061082b919061171e565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b031633146108705760405162461bcd60e51b81526004016104f7906116d5565b5f5b81518110156106a9575f60045f8484815181106108915761089161170a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610872565b5f61043d338484610a46565b6005546001600160a01b0316336001600160a01b0316146108f5575f80fd5b305f90815260016020526040902054801561091357610913816110a9565b4780156106a9576106a981611072565b6001600160a01b0383166109855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f7565b6001600160a01b0382166109e65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aaa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f7565b6001600160a01b038216610b0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f7565b5f8111610b6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f7565b5f80546001600160a01b03858116911614801590610b9857505f546001600160a01b03848116911614155b15610efd576001600160a01b0384165f9081526004602052604090205460ff16158015610bdd57506001600160a01b0383165f9081526004602052604090205460ff16155b610be5575f80fd5b600e545f03610c1d57610c1a6064610c14600a54600e5411610c0957600654610c0d565b6008545b8590611219565b9061129e565b90505b600e5415610c4257610c3f6064610c14600d548561121990919063ffffffff16565b90505b6014546001600160a01b038581169116148015610c6d57506013546001600160a01b03848116911614155b8015610c9157506001600160a01b0383165f9081526003602052604090205460ff16155b15610d9457600f54821115610ce85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f7565b60105482610d0a856001600160a01b03165f9081526001602052604090205490565b610d149190611749565b1115610d625760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f7565b610d7d6064610c14600a54600e5411610c0957600654610c0d565b600e80549192505f610d8e8361175c565b91905055505b6014546001600160a01b038481169116148015610dba57506001600160a01b0384163014155b15610de757610de46064610c14600b54600e5411610dda57600754610c0d565b6009548590611219565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610e1d57506014546001600160a01b038581169116145b8015610e325750601454600160b01b900460ff165b8015610e3f575060115481115b8015610e4e5750600c54600e54115b15610efb57601654431115610e62575f6015555b600360155410610eb45760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f7565b610ed1610ecc84610ec7846012546112df565b6112df565b6110a9565b478015610ee157610ee147611072565b60158054905f610ef08361175c565b909155505043601655505b505b8015610f7557305f90815260016020526040902054610f1c90826112f3565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f6c9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f979083611351565b6001600160a01b0385165f90815260016020526040902055610fda610fbc8383611351565b6001600160a01b0385165f90815260016020526040902054906112f3565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110238585611351565b60405190815260200160405180910390a350505050565b5f818484111561105d5760405162461bcd60e51b81526004016104f791906113be565b505f6110698486611774565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a9573d5f803e3d5ffd5b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110ef576110ef61170a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611146573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116a9190611787565b8160018151811061117d5761117d61170a565b6001600160a01b0392831660209182029290920101526013546111a39130911684610923565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111db9085905f908690309042906004016117a2565b5f604051808303815f87803b1580156111f2575f80fd5b505af1158015611204573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f825f0361122857505f610441565b5f61123383856116be565b9050826112408583611813565b146112975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f7565b9392505050565b5f61129783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611392565b5f8183116112ed5782611297565b50919050565b5f806112ff8385611749565b9050838110156112975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f7565b5f61129783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f81836113b25760405162461bcd60e51b81526004016104f791906113be565b505f6110698486611813565b5f602080835283518060208501525f5b818110156113ea578581018301518582016040015282016113ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b1575f80fd5b80356114298161140a565b919050565b5f806040838503121561143f575f80fd5b823561144a8161140a565b946020939093013593505050565b5f805f6060848603121561146a575f80fd5b83356114758161140a565b925060208401356114858161140a565b929592945050506040919091013590565b5f602082840312156114a6575f80fd5b81356112978161140a565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156114d6575f80fd5b823567ffffffffffffffff808211156114ed575f80fd5b818501915085601f830112611500575f80fd5b813581811115611512576115126114b1565b8060051b604051601f19603f83011681018181108582111715611537576115376114b1565b604052918252848201925083810185019188831115611554575f80fd5b938501935b828510156115795761156a8561141e565b84529385019392850192611559565b98975050505050505050565b5f8060408385031215611596575f80fd5b82356115a18161140a565b915060208301356115b18161140a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160a57815f19048211156115f0576115f06115bc565b808516156115fd57918102915b93841c93908002906115d5565b509250929050565b5f8261162057506001610441565b8161162c57505f610441565b8160018114611642576002811461164c57611668565b6001915050610441565b60ff84111561165d5761165d6115bc565b50506001821b610441565b5060208310610133831016604e8410600b841016171561168b575081810a610441565b61169583836115d0565b805f19048211156116a8576116a86115bc565b029392505050565b5f61129760ff841683611612565b8082028115828204841417610441576104416115bc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f805f60608486031215611730575f80fd5b8351925060208401519150604084015190509250925092565b80820180821115610441576104416115bc565b5f6001820161176d5761176d6115bc565b5060010190565b81810381811115610441576104416115bc565b5f60208284031215611797575f80fd5b81516112978161140a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117f25784516001600160a01b0316835293830193918301916001016117cd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201397cda30a7877e792c59b39df2ca63278d71d90c9f315c1ffd2300b85c1adce64736f6c63430008170033

Deployed Bytecode Sourcemap

3946:8671:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6235:83;;;;;;;;;;-1:-1:-1;6305:5:0;;;;;;;;;;;;-1:-1:-1;;;6305:5:0;;;;6235:83;;;;;;;:::i;:::-;;;;;;;;7068:161;;;;;;;;;;-1:-1:-1;7068:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7068:161:0;1162:187:1;5071:45:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5071:45:0;1354:177:1;6512:95:0;;;;;;;;;;;;;:::i;7237:313::-;;;;;;;;;;-1:-1:-1;7237:313:0;;;;;:::i;:::-;;:::i;6421:83::-;;;;;;;;;;-1:-1:-1;6421:83:0;;4697:1;2139:36:1;;2127:2;2112:18;6421:83:0;1997:184:1;11558:83:0;;;;;;;;;;-1:-1:-1;11558:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11626:7:0;11605:4;11626:7;;;:4;:7;;;;;;;;;11558:83;10956:158;;;;;;;;;;;;;:::i;:::-;;12427:187;;;;;;;;;;;;;:::i;6615:119::-;;;;;;;;;;-1:-1:-1;6615:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6708:18:0;6681:7;6708:18;;;:9;:18;;;;;;;6615:119;3027:148;;;;;;;;;;;;;:::i;4899:48::-;;;;;;;;;;;;;;;;11222:161;;;;;;;;;;-1:-1:-1;11222:161:0;;;;;:::i;:::-;;:::i;11649:379::-;;;;;;;;;;;;;:::i;2813:79::-;;;;;;;;;;-1:-1:-1;2851:7:0;2878:6;2813:79;;-1:-1:-1;;;;;2878:6:0;;;3842:51:1;;3830:2;3815:18;2813:79:0;3696:203:1;4954:50:0;;;;;;;;;;;;;;;;6326:87;;;;;;;;;;-1:-1:-1;6398:7:0;;;;;;;;;;;;-1:-1:-1;;;6398:7:0;;;;6326:87;;11391:159;;;;;;;;;;-1:-1:-1;11391:159:0;;;;;:::i;:::-;;:::i;6742:167::-;;;;;;;;;;-1:-1:-1;6742:167:0;;;;;:::i;:::-;;:::i;12073:346::-;;;;;;;;;;;;;:::i;5011:53::-;;;;;;;;;;;;;;;;6917:143;;;;;;;;;;-1:-1:-1;6917:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7025:18:0;;;6998:7;7025:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6917:143;7068:161;7143:4;7160:39;648:10;7183:7;7192:6;7160:8;:39::i;:::-;-1:-1:-1;7217:4:0;7068:161;;;;;:::o;6512:95::-;6565:7;4756:13;4697:1;4756:2;:13;:::i;:::-;4740:29;;:13;:29;:::i;:::-;6585:14;;6512:95;:::o;7237:313::-;7335:4;7352:36;7362:6;7370:9;7381:6;7352:9;:36::i;:::-;7399:121;7408:6;648:10;7430:89;7468:6;7430:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7430:19:0;;;;;;:11;:19;;;;;;;;648:10;7430:33;;;;;;;;;;:37;:89::i;:::-;7399:8;:121::i;:::-;-1:-1:-1;7538:4:0;7237:313;;;;;:::o;10956:158::-;2940:6;;-1:-1:-1;;;;;2940:6:0;648:10;2940:22;2932:67;;;;-1:-1:-1;;;2932:67:0;;;;;;;:::i;:::-;;;;;;;;;4756:13:::1;4697:1;4756:2;:13;:::i;:::-;4740:29;::::0;:13:::1;:29;:::i;:::-;11008:12;:22:::0;4756:13:::1;4697:1;4756:2;:13;:::i;:::-;4740:29;::::0;:13:::1;:29;:::i;:::-;11041:14;:22:::0;11079:27:::1;4756:13;4697:1;4756:2;:13;:::i;:::-;4740:29;::::0;:13:::1;:29;:::i;:::-;11079:27;::::0;1500:25:1;;;1488:2;1473:18;11079:27:0::1;;;;;;;10956:158::o:0;12427:187::-;12491:10;;-1:-1:-1;;;;;12491:10:0;648;-1:-1:-1;;;;;12477:24:0;;12469:33;;;;;;12542:21;12574:32;12542:21;12574:12;:32::i;:::-;12458:156;12427:187::o;3027:148::-;2940:6;;-1:-1:-1;;;;;2940:6:0;648:10;2940:22;2932:67;;;;-1:-1:-1;;;2932:67:0;;;;;;;:::i;:::-;3134:1:::1;3118:6:::0;;3097:40:::1;::::0;-1:-1:-1;;;;;3118:6:0;;::::1;::::0;3097:40:::1;::::0;3134:1;;3097:40:::1;3165:1;3148:19:::0;;-1:-1:-1;;;;;;3148:19:0::1;::::0;;3027:148::o;11222:161::-;2940:6;;-1:-1:-1;;;;;2940:6:0;648:10;2940:22;2932:67;;;;-1:-1:-1;;;2932:67:0;;;;;;;:::i;:::-;11293:6:::1;11288:88;11309:5;:12;11305:1;:16;11288:88;;;11360:4;11343;:14;11348:5;11354:1;11348:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11343:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11343:14:0;:21;;-1:-1:-1;;11343:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11323:3:0::1;11288:88;;;;11222:161:::0;:::o;11649:379::-;2940:6;;-1:-1:-1;;;;;2940:6:0;648:10;2940:22;2932:67;;;;-1:-1:-1;;;2932:67:0;;;;;;;:::i;:::-;11715:11:::1;::::0;-1:-1:-1;;;11715:11:0;::::1;;;11714:12;11706:47;;;::::0;-1:-1:-1;;;11706:47:0;;6674:2:1;11706:47:0::1;::::0;::::1;6656:21:1::0;6713:2;6693:18;;;6686:30;6752:25;6732:18;;;6725:53;6795:18;;11706:47:0::1;6472:347:1::0;11706:47:0::1;11796:15;::::0;11764:58:::1;::::0;11781:4:::1;::::0;-1:-1:-1;;;;;11796:15:0::1;4756:13;4697:1;4756:2;:13;:::i;:::-;4740:29;::::0;:13:::1;:29;:::i;11764:58::-;11833:15;::::0;-1:-1:-1;;;;;11833:15:0::1;:31;11872:21;11903:4;11909:24;11903:4:::0;-1:-1:-1;;;;;6708:18:0;6681:7;6708:18;;;:9;:18;;;;;;;6615:119;11909:24:::1;11934:1;11936::::0;11938:7:::1;2851::::0;2878:6;-1:-1:-1;;;;;2878:6:0;;2813:79;11938:7:::1;11833:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11833:129:0;;;-1:-1:-1;;;;;7183:15:1;;;11833:129:0::1;::::0;::::1;7165:34:1::0;7215:18;;;7208:34;;;;7258:18;;;7251:34;;;;7301:18;;;7294:34;7365:15;;;7344:19;;;7337:44;11946:15:0::1;7397:19:1::0;;;7390:35;7099:19;;11833:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11973:11:0::1;:18:::0;;-1:-1:-1;;;;12002:18:0;-1:-1:-1;;;12002:18:0;;;-1:-1:-1;11649:379:0:o;11391:159::-;2940:6;;-1:-1:-1;;;;;2940:6:0;648:10;2940:22;2932:67;;;;-1:-1:-1;;;2932:67:0;;;;;;;:::i;:::-;11461:6:::1;11456:87;11477:6;:13;11473:1;:17;11456:87;;;11528:5;11510:4;:15;11515:6;11522:1;11515:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11510:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11510:15:0;:23;;-1:-1:-1;;11510:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11492:3:0::1;11456:87;;6742:167:::0;6820:4;6837:42;648:10;6861:9;6872:6;6837:9;:42::i;12073:346::-;12135:10;;-1:-1:-1;;;;;12135:10:0;648;-1:-1:-1;;;;;12121:24:0;;12113:33;;;;;;12196:4;12157:20;6708:18;;;:9;:18;;;;;;12216:14;;12213:73;;12244:30;12261:12;12244:16;:30::i;:::-;12315:21;12350:12;;12347:65;;12376:24;12389:10;12376:12;:24::i;7558:335::-;-1:-1:-1;;;;;7651:19:0;;7643:68;;;;-1:-1:-1;;;7643:68:0;;7949:2:1;7643:68:0;;;7931:21:1;7988:2;7968:18;;;7961:30;8027:34;8007:18;;;8000:62;-1:-1:-1;;;8078:18:1;;;8071:34;8122:19;;7643:68:0;7747:400:1;7643:68:0;-1:-1:-1;;;;;7730:21:0;;7722:68;;;;-1:-1:-1;;;7722:68:0;;8354:2:1;7722:68:0;;;8336:21:1;8393:2;8373:18;;;8366:30;8432:34;8412:18;;;8405:62;-1:-1:-1;;;8483:18:1;;;8476:32;8525:19;;7722:68:0;8152:398:1;7722:68:0;-1:-1:-1;;;;;7801:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7853:32;;1500:25:1;;;7853:32:0;;1473:18:1;7853:32:0;;;;;;;7558:335;;;:::o;7901:2448::-;-1:-1:-1;;;;;7989:18:0;;7981:68;;;;-1:-1:-1;;;7981:68:0;;8757:2:1;7981:68:0;;;8739:21:1;8796:2;8776:18;;;8769:30;8835:34;8815:18;;;8808:62;-1:-1:-1;;;8886:18:1;;;8879:35;8931:19;;7981:68:0;8555:401:1;7981:68:0;-1:-1:-1;;;;;8068:16:0;;8060:64;;;;-1:-1:-1;;;8060:64:0;;9163:2:1;8060:64:0;;;9145:21:1;9202:2;9182:18;;;9175:30;9241:34;9221:18;;;9214:62;-1:-1:-1;;;9292:18:1;;;9285:33;9335:19;;8060:64:0;8961:399:1;8060:64:0;8152:1;8143:6;:10;8135:64;;;;-1:-1:-1;;;8135:64:0;;9567:2:1;8135:64:0;;;9549:21:1;9606:2;9586:18;;;9579:30;9645:34;9625:18;;;9618:62;-1:-1:-1;;;9696:18:1;;;9689:39;9745:19;;8135:64:0;9365:405:1;8135:64:0;8210:17;2878:6;;-1:-1:-1;;;;;8244:15:0;;;2878:6;;8244:15;;;;:32;;-1:-1:-1;2851:7:0;2878:6;-1:-1:-1;;;;;8263:13:0;;;2878:6;;8263:13;;8244:32;8240:1753;;;-1:-1:-1;;;;;8302:10:0;;;;;;:4;:10;;;;;;;;8301:11;:24;;;;-1:-1:-1;;;;;;8317:8:0;;;;;;:4;:8;;;;;;;;8316:9;8301:24;8293:33;;;;;;8346:9;;8357:1;8346:12;8343:139;;8390:76;8462:3;8390:67;8412:15;;8402:9;;:25;8401:55;;8442:14;;8401:55;;;8429:12;;8401:55;8390:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8378:88;;8343:139;8499:9;;:11;8496:95;;8542:33;8571:3;8542:24;8553:12;;8542:6;:10;;:24;;;;:::i;:33::-;8530:45;;8496:95;8619:13;;-1:-1:-1;;;;;8611:21:0;;;8619:13;;8611:21;:55;;;;-1:-1:-1;8650:15:0;;-1:-1:-1;;;;;8636:30:0;;;8650:15;;8636:30;;8611:55;:83;;;;-1:-1:-1;;;;;;8672:22:0;;;;;;:18;:22;;;;;;;;8670:24;8611:83;8607:420;;;8734:12;;8724:6;:22;;8716:60;;;;-1:-1:-1;;;8716:60:0;;9977:2:1;8716:60:0;;;9959:21:1;10016:2;9996:18;;;9989:30;10055:27;10035:18;;;10028:55;10100:18;;8716:60:0;9775:349:1;8716:60:0;8829:14;;8819:6;8803:13;8813:2;-1:-1:-1;;;;;6708:18:0;6681:7;6708:18;;;:9;:18;;;;;;;6615:119;8803:13;:22;;;;:::i;:::-;:40;;8795:79;;;;-1:-1:-1;;;8795:79:0;;10461:2:1;8795:79:0;;;10443:21:1;10500:2;10480:18;;;10473:30;10539:28;10519:18;;;10512:56;10585:18;;8795:79:0;10259:350:1;8795:79:0;8905:76;8977:3;8905:67;8927:15;;8917:9;;:25;8916:55;;8957:14;;8916:55;;8905:76;9000:9;:11;;8893:88;;-1:-1:-1;9000:9:0;:11;;;:::i;:::-;;;;;;8607:420;9052:13;;-1:-1:-1;;;;;9046:19:0;;;9052:13;;9046:19;:43;;;;-1:-1:-1;;;;;;9069:20:0;;9084:4;9069:20;;9046:43;9043:174;;;9122:79;9197:3;9122:70;9144:16;;9134:9;;:26;9133:58;;9176:15;;9133:58;;;9162:13;;9122:6;;:10;:70::i;:79::-;9110:91;;9043:174;9282:4;9233:28;6708:18;;;:9;:18;;;;;;9308:6;;-1:-1:-1;;;9308:6:0;;;;9307:7;:30;;;;-1:-1:-1;9324:13:0;;-1:-1:-1;;;;;9318:19:0;;;9324:13;;9318:19;9307:30;:45;;;;-1:-1:-1;9341:11:0;;-1:-1:-1;;;9341:11:0;;;;9307:45;:89;;;;;9379:17;;9356:20;:40;9307:89;:123;;;;;9412:18;;9400:9;;:30;9307:123;9303:679;;;9470:13;;9455:12;:28;9451:90;;;9520:1;9508:9;:13;9451:90;9579:1;9567:9;;:13;9559:49;;;;-1:-1:-1;;;9559:49:0;;10956:2:1;9559:49:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:25;11014:18;;;11007:53;11077:18;;9559:49:0;10754:347:1;9559:49:0;9627:69;9644:51;9648:6;9656:38;9660:20;9682:11;;9656:3;:38::i;:::-;9644:3;:51::i;:::-;9627:16;:69::i;:::-;9744:21;9788:22;;9784:106;;9835:35;9848:21;9835:12;:35::i;:::-;9908:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9954:12:0;9938:13;:28;-1:-1:-1;9303:679:0;8278:1715;8240:1753;10008:11;;10005:161;;10076:4;10058:24;;;;:9;:24;;;;;;:39;;10087:9;10058:28;:39::i;:::-;10051:4;10033:24;;;;:9;:24;;;;;;;:64;;;;10115:39;;-1:-1:-1;;;;;10115:39:0;;;;;;;10144:9;1500:25:1;;1488:2;1473:18;;1354:177;10115:39:0;;;;;;;;10005:161;-1:-1:-1;;;;;10192:15:0;;;;;;:9;:15;;;;;;:27;;10212:6;10192:19;:27::i;:::-;-1:-1:-1;;;;;10176:15:0;;;;;;:9;:15;;;;;:43;10244:40;10262:21;:6;10273:9;10262:10;:21::i;:::-;-1:-1:-1;;;;;10244:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10230:13:0;;;;;;;:9;:13;;;;;:54;;;;10300:41;;;10319:21;:6;10330:9;10319:10;:21::i;:::-;10300:41;;1500:25:1;;;1488:2;1473:18;10300:41:0;;;;;;;7970:2379;7901:2448;;;:::o;1705:190::-;1791:7;1827:12;1819:6;;;;1811:29;;;;-1:-1:-1;;;1811:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1851:9:0;1863:5;1867:1;1863;:5;:::i;:::-;1851:17;1705:190;-1:-1:-1;;;;;1705:190:0:o;11122:92::-;11179:10;;:27;;-1:-1:-1;;;;;11179:10:0;;;;:27;;;;;11199:6;;11179:10;:27;:10;:27;11199:6;11179:10;:27;;;;;;;;;;;;;;;;;;;10465:483;5518:6;:13;;-1:-1:-1;;;;5518:13:0;-1:-1:-1;;;5518:13:0;;;10567:16:::1;::::0;;10581:1:::1;10567:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10567:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10567:16:0::1;10543:40;;10612:4;10594;10599:1;10594:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10594:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10638:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10638:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10594:7;;10638:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10628:4;10633:1;10628:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10628:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10703:15:::1;::::0;10671:62:::1;::::0;10688:4:::1;::::0;10703:15:::1;10721:11:::0;10671:8:::1;:62::i;:::-;10744:15;::::0;:196:::1;::::0;-1:-1:-1;;;10744:196:0;;-1:-1:-1;;;;;10744:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10825:11;;10744:15:::1;::::0;10867:4;;10894::::1;::::0;10914:15:::1;::::0;10744:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5554:6:0;:14;;-1:-1:-1;;;;5554:14:0;;;-1:-1:-1;;;;10465:483:0:o;1903:246::-;1961:7;1985:1;1990;1985:6;1981:47;;-1:-1:-1;2015:1:0;2008:8;;1981:47;2038:9;2050:5;2054:1;2050;:5;:::i;:::-;2038:17;-1:-1:-1;2083:1:0;2074:5;2078:1;2038:17;2074:5;:::i;:::-;:10;2066:56;;;;-1:-1:-1;;;2066:56:0;;12904:2:1;2066:56:0;;;12886:21:1;12943:2;12923:18;;;12916:30;12982:34;12962:18;;;12955:62;-1:-1:-1;;;13033:18:1;;;13026:31;13074:19;;2066:56:0;12702:397:1;2066:56:0;2140:1;1903:246;-1:-1:-1;;;1903:246:0:o;2157:132::-;2215:7;2242:39;2246:1;2249;2242:39;;;;;;;;;;;;;;;;;:3;:39::i;10359:98::-;10416:7;10443:1;10441;:3;10440:9;;10448:1;10440:9;;;-1:-1:-1;10446:1:0;10359:98;-1:-1:-1;10359:98:0:o;1374:179::-;1432:7;;1464:5;1468:1;1464;:5;:::i;:::-;1452:17;;1493:1;1488;:6;;1480:46;;;;-1:-1:-1;;;1480:46:0;;13306:2:1;1480:46:0;;;13288:21:1;13345:2;13325:18;;;13318:30;13384:29;13364:18;;;13357:57;13431:18;;1480:46:0;13104:351:1;1561:136:0;1619:7;1646:43;1650:1;1653;1646:43;;;;;;;;;;;;;;;;;:3;:43::i;2297:189::-;2383:7;2418:12;2411:5;2403:28;;;;-1:-1:-1;;;2403:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2442:9:0;2454:5;2458:1;2454;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:127::-;2499:10;2494:3;2490:20;2487:1;2480:31;2530:4;2527:1;2520:15;2554:4;2551:1;2544:15;2570:1121;2654:6;2685:2;2728;2716:9;2707:7;2703:23;2699:32;2696:52;;;2744:1;2741;2734:12;2696:52;2784:9;2771:23;2813:18;2854:2;2846:6;2843:14;2840:34;;;2870:1;2867;2860:12;2840:34;2908:6;2897:9;2893:22;2883:32;;2953:7;2946:4;2942:2;2938:13;2934:27;2924:55;;2975:1;2972;2965:12;2924:55;3011:2;2998:16;3033:2;3029;3026:10;3023:36;;;3039:18;;:::i;:::-;3085:2;3082:1;3078:10;3117:2;3111:9;3180:2;3176:7;3171:2;3167;3163:11;3159:25;3151:6;3147:38;3235:6;3223:10;3220:22;3215:2;3203:10;3200:18;3197:46;3194:72;;;3246:18;;:::i;:::-;3282:2;3275:22;3332:18;;;3366:15;;;;-1:-1:-1;3408:11:1;;;3404:20;;;3436:19;;;3433:39;;;3468:1;3465;3458:12;3433:39;3492:11;;;;3512:148;3528:6;3523:3;3520:15;3512:148;;;3594:23;3613:3;3594:23;:::i;:::-;3582:36;;3545:12;;;;3638;;;;3512:148;;;3679:6;2570:1121;-1:-1:-1;;;;;;;;2570:1121:1:o;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:416;4518:1;4555:5;4518:1;4569:270;4590:7;4580:8;4577:21;4569:270;;;4649:4;4645:1;4641:6;4637:17;4631:4;4628:27;4625:53;;;4658:18;;:::i;:::-;4708:7;4698:8;4694:22;4691:55;;;4728:16;;;;4691:55;4807:22;;;;4767:15;;;;4569:270;;;4573:3;4429:416;;;;;:::o;4850:806::-;4899:5;4929:8;4919:80;;-1:-1:-1;4970:1:1;4984:5;;4919:80;5018:4;5008:76;;-1:-1:-1;5055:1:1;5069:5;;5008:76;5100:4;5118:1;5113:59;;;;5186:1;5181:130;;;;5093:218;;5113:59;5143:1;5134:10;;5157:5;;;5181:130;5218:3;5208:8;5205:17;5202:43;;;5225:18;;:::i;:::-;-1:-1:-1;;5281:1:1;5267:16;;5296:5;;5093:218;;5395:2;5385:8;5382:16;5376:3;5370:4;5367:13;5363:36;5357:2;5347:8;5344:16;5339:2;5333:4;5330:12;5326:35;5323:77;5320:159;;;-1:-1:-1;5432:19:1;;;5464:5;;5320:159;5511:34;5536:8;5530:4;5511:34;:::i;:::-;5581:6;5577:1;5573:6;5569:19;5560:7;5557:32;5554:58;;;5592:18;;:::i;:::-;5630:20;;4850:806;-1:-1:-1;;;4850:806:1:o;5661:140::-;5719:5;5748:47;5789:4;5779:8;5775:19;5769:4;5748:47;:::i;5806:168::-;5879:9;;;5910;;5927:15;;;5921:22;;5907:37;5897:71;;5948:18;;:::i;5979:356::-;6181:2;6163:21;;;6200:18;;;6193:30;6259:34;6254:2;6239:18;;6232:62;6326:2;6311:18;;5979:356::o;6340:127::-;6401:10;6396:3;6392:20;6389:1;6382:31;6432:4;6429:1;6422:15;6456:4;6453:1;6446:15;7436:306;7524:6;7532;7540;7593:2;7581:9;7572:7;7568:23;7564:32;7561:52;;;7609:1;7606;7599:12;7561:52;7638:9;7632:16;7622:26;;7688:2;7677:9;7673:18;7667:25;7657:35;;7732:2;7721:9;7717:18;7711:25;7701:35;;7436:306;;;;;:::o;10129:125::-;10194:9;;;10215:10;;;10212:36;;;10228:18;;:::i;10614:135::-;10653:3;10674:17;;;10671:43;;10694:18;;:::i;:::-;-1:-1:-1;10741:1:1;10730:13;;10614:135::o;11106:128::-;11173:9;;;11194:11;;;11191:37;;;11208:18;;:::i;11239:251::-;11309:6;11362:2;11350:9;11341:7;11337:23;11333:32;11330:52;;;11378:1;11375;11368:12;11330:52;11410:9;11404:16;11429:31;11454:5;11429:31;:::i;11495:980::-;11757:4;11805:3;11794:9;11790:19;11836:6;11825:9;11818:25;11862:2;11900:6;11895:2;11884:9;11880:18;11873:34;11943:3;11938:2;11927:9;11923:18;11916:31;11967:6;12002;11996:13;12033:6;12025;12018:22;12071:3;12060:9;12056:19;12049:26;;12110:2;12102:6;12098:15;12084:29;;12131:1;12141:195;12155:6;12152:1;12149:13;12141:195;;;12220:13;;-1:-1:-1;;;;;12216:39:1;12204:52;;12311:15;;;;12276:12;;;;12252:1;12170:9;12141:195;;;-1:-1:-1;;;;;;;12392:32:1;;;;12387:2;12372:18;;12365:60;-1:-1:-1;;;12456:3:1;12441:19;12434:35;12353:3;11495:980;-1:-1:-1;;;11495:980:1:o;12480:217::-;12520:1;12546;12536:132;;12590:10;12585:3;12581:20;12578:1;12571:31;12625:4;12622:1;12615:15;12653:4;12650:1;12643:15;12536:132;-1:-1:-1;12682:9:1;;12480:217::o

Swarm Source

ipfs://1397cda30a7877e792c59b39df2ca63278d71d90c9f315c1ffd2300b85c1adce

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.