ETH Price: $3,699.27 (-5.92%)
Gas: 19.9 Gwei

Contract

0x1fFE1D087b448Ef23455Ce6CC07e694acfdAC698
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve184987712023-11-04 12:48:47410 days ago1699102127IN
0x1fFE1D08...acfdAC698
0 ETH0.0006216623.5682881
Approve184987702023-11-04 12:48:35410 days ago1699102115IN
0x1fFE1D08...acfdAC698
0 ETH0.0011343324.51192542
Approve184907942023-11-03 9:59:35411 days ago1699005575IN
0x1fFE1D08...acfdAC698
0 ETH0.0009920621.29940154
Approve184907132023-11-03 9:43:23411 days ago1699004603IN
0x1fFE1D08...acfdAC698
0 ETH0.0012243126.31973941
Transfer184906882023-11-03 9:38:11411 days ago1699004291IN
0x1fFE1D08...acfdAC698
0 ETH0.0015724724.69177748
Approve184906652023-11-03 9:33:35411 days ago1699004015IN
0x1fFE1D08...acfdAC698
0 ETH0.0011530224.75517191
Approve184906622023-11-03 9:32:59411 days ago1699003979IN
0x1fFE1D08...acfdAC698
0 ETH0.0010250322.1499852
Transfer184906422023-11-03 9:28:59411 days ago1699003739IN
0x1fFE1D08...acfdAC698
0 ETH0.0009257217.90850428
Approve184906262023-11-03 9:25:47411 days ago1699003547IN
0x1fFE1D08...acfdAC698
0 ETH0.0008764318.8168328
Approve184906212023-11-03 9:24:47411 days ago1699003487IN
0x1fFE1D08...acfdAC698
0 ETH0.0008730618.7686309
Approve184905972023-11-03 9:19:47411 days ago1699003187IN
0x1fFE1D08...acfdAC698
0 ETH0.0013041528
Approve184905852023-11-03 9:17:23411 days ago1699003043IN
0x1fFE1D08...acfdAC698
0 ETH0.0011488624.66586367
Approve184905792023-11-03 9:15:59411 days ago1699002959IN
0x1fFE1D08...acfdAC698
0 ETH0.0011448624.57998469
Transfer184905792023-11-03 9:15:59411 days ago1699002959IN
0x1fFE1D08...acfdAC698
0 ETH0.0016475921.67998469
Approve184905732023-11-03 9:14:47411 days ago1699002887IN
0x1fFE1D08...acfdAC698
0 ETH0.0010406322.37111971
Approve184905722023-11-03 9:14:35411 days ago1699002875IN
0x1fFE1D08...acfdAC698
0 ETH0.0012025625.81883722
Approve184905682023-11-03 9:13:47411 days ago1699002827IN
0x1fFE1D08...acfdAC698
0 ETH0.0013504228.99347203
Approve184905662023-11-03 9:13:23411 days ago1699002803IN
0x1fFE1D08...acfdAC698
0 ETH0.0013084828.09303385
Approve184905632023-11-03 9:12:47411 days ago1699002767IN
0x1fFE1D08...acfdAC698
0 ETH0.0011197824.07257695
Approve184905612023-11-03 9:12:23411 days ago1699002743IN
0x1fFE1D08...acfdAC698
0 ETH0.0012462226.75620891
Approve184905592023-11-03 9:11:59411 days ago1699002719IN
0x1fFE1D08...acfdAC698
0 ETH0.0010678922.95706634
Approve184905472023-11-03 9:09:35411 days ago1699002575IN
0x1fFE1D08...acfdAC698
0 ETH0.001154124.97152846
Approve184905382023-11-03 9:07:47411 days ago1699002467IN
0x1fFE1D08...acfdAC698
0 ETH0.0013040428.21567318
Approve184905372023-11-03 9:07:35411 days ago1699002455IN
0x1fFE1D08...acfdAC698
0 ETH0.0012590827.20756977
Approve184905292023-11-03 9:05:59411 days ago1699002359IN
0x1fFE1D08...acfdAC698
0 ETH0.0013910929.90512203
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
184906602023-11-03 9:32:35411 days ago1699003955
0x1fFE1D08...acfdAC698
0.02238106 ETH
184906602023-11-03 9:32:35411 days ago1699003955
0x1fFE1D08...acfdAC698
0.02238106 ETH
184906592023-11-03 9:32:23411 days ago1699003943
0x1fFE1D08...acfdAC698
0.02216824 ETH
184906592023-11-03 9:32:23411 days ago1699003943
0x1fFE1D08...acfdAC698
0.02216824 ETH
184906512023-11-03 9:30:47411 days ago1699003847
0x1fFE1D08...acfdAC698
0.05575938 ETH
184906512023-11-03 9:30:47411 days ago1699003847
0x1fFE1D08...acfdAC698
0.05575938 ETH
184906502023-11-03 9:30:35411 days ago1699003835
0x1fFE1D08...acfdAC698
0.03201297 ETH
184906502023-11-03 9:30:35411 days ago1699003835
0x1fFE1D08...acfdAC698
0.03201297 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.06370004 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.06370004 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.07509727 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.07509727 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.01984107 ETH
184906472023-11-03 9:29:59411 days ago1699003799
0x1fFE1D08...acfdAC698
0.01984107 ETH
184906452023-11-03 9:29:35411 days ago1699003775
0x1fFE1D08...acfdAC698
0.03394884 ETH
184906262023-11-03 9:25:47411 days ago1699003547
0x1fFE1D08...acfdAC698
0.05499423 ETH
184906262023-11-03 9:25:47411 days ago1699003547
0x1fFE1D08...acfdAC698
0.05499423 ETH
184905532023-11-03 9:10:47411 days ago1699002647
0x1fFE1D08...acfdAC698
0.07425459 ETH
184905532023-11-03 9:10:47411 days ago1699002647
0x1fFE1D08...acfdAC698
0.07425459 ETH
184905522023-11-03 9:10:35411 days ago1699002635
0x1fFE1D08...acfdAC698
0.09537657 ETH
184905522023-11-03 9:10:35411 days ago1699002635
0x1fFE1D08...acfdAC698
0.09537657 ETH
184905492023-11-03 9:09:59411 days ago1699002599
0x1fFE1D08...acfdAC698
0.06233653 ETH
184905492023-11-03 9:09:59411 days ago1699002599
0x1fFE1D08...acfdAC698
0.06233653 ETH
184905412023-11-03 9:08:23411 days ago1699002503
0x1fFE1D08...acfdAC698
0.06477738 ETH
184905412023-11-03 9:08:23411 days ago1699002503
0x1fFE1D08...acfdAC698
0.06477738 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TheLongDoge

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-03
*/

/**
___   __  ___  __       __  
|       \ /      \|       \|      \  \  |  \/      \ 
| ▓▓▓▓▓▓▓\  ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\\▓▓▓▓▓▓ ▓▓\ | ▓▓  ▓▓▓▓▓▓\
| ▓▓__/ ▓▓ ▓▓  | ▓▓ ▓▓__| ▓▓ | ▓▓ | ▓▓▓\| ▓▓ ▓▓ __\▓▓
| ▓▓    ▓▓ ▓▓  | ▓▓ ▓▓    ▓▓ | ▓▓ | ▓▓▓▓\ ▓▓ ▓▓|    \
| ▓▓▓▓▓▓▓\ ▓▓  | ▓▓ ▓▓▓▓▓▓▓\ | ▓▓ | ▓▓\▓▓ ▓▓ ▓▓ \▓▓▓▓
| ▓▓__/ ▓▓ ▓▓__/ ▓▓ ▓▓  | ▓▓_| ▓▓_| ▓▓ \▓▓▓▓ ▓▓__| ▓▓
| ▓▓    ▓▓\▓▓    ▓▓ ▓▓  | ▓▓   ▓▓ \ ▓▓  \▓▓▓\▓▓    ▓▓
 \▓▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓   \▓▓\▓▓▓▓▓▓\▓▓   \▓▓ \▓▓▓▓▓▓
https://www.thelongdoge.com/
https://t.me/THELONGDOGE
https://twitter.com/TheLongDoge
*/



// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract  TheLongDoge  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 firstBlock;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=10;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=21;
    uint256 private _reduceSellTaxAt=21;
    uint256 private _preventSwapBefore=18;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000  * 10**_decimals;
    string private constant _name = unicode"The Long Doge";
    string private constant _symbol = unicode"BORING";
    uint256 public _maxTxAmount =  8490000 * 10**_decimals;
    uint256 public _maxWalletSize = 8490000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 4206900 * 10**_decimals;
    uint256 public _maxTaxSwap= 8490000 * 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()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

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

            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 > 0) {
                    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 recover() external onlyOwner {
		sendETHToFee(address(this).balance);
	}

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

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

    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;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

    function delBots(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 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;
        firstBlock = block.number;
    }

    receive() external payable {}
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"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":"addBots","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":"delBots","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":"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":"recover","outputs":[],"stateMutability":"nonpayable","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":[{"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"}]

6080604052600a600755600a60085560026009556002600a556015600b556015600c556012600d555f600e556009600a6200003b91906200032e565b6200004a9062818c1062000345565b600f556200005b6009600a6200032e565b6200006a9062818c1062000345565b6010556200007b6009600a6200032e565b6200008a906240313462000345565b6011556200009b6009600a6200032e565b620000aa9062818c1062000345565b6012556014805461ffff60a81b19169055348015620000c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001286009600a6200032e565b6200013890631913385062000345565b335f908152600160208190526040822092909255600390620001615f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001bf3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f86009600a6200032e565b6200020890631913385062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027357815f19048211156200025757620002576200021f565b808516156200026557918102915b93841c939080029062000238565b509250929050565b5f826200028b5750600162000328565b816200029957505f62000328565b8160018114620002b25760028114620002bd57620002dd565b600191505062000328565b60ff841115620002d157620002d16200021f565b50506001821b62000328565b5060208310610133831016604e8410600b841016171562000302575081810a62000328565b6200030e838362000233565b805f19048211156200032457620003246200021f565b0290505b92915050565b5f6200033e60ff8416836200027b565b9392505050565b80820281158282048414176200032857620003286200021f565b611a7e806200036d5f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461034d578063bf474bed1461036c578063c9567bf914610381578063ce74602414610395578063d34628cc146103a9578063dd62ed3e146103c8575f80fd5b8063751039fc146102bb5780637d1db4a5146102cf5780638da5cb5b146102e45780638f9a55c01461030a57806395d89b411461031f575f80fd5b8063313ce567116100ee578063313ce5671461020057806331c2d8471461021b5780633bbac5791461023c57806370a0823114610273578063715018a6146102a7575f80fd5b806306fdde0314610134578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd57806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600d81526c546865204c6f6e6720446f676560981b60208201525b604051610172919061158d565b60405180910390f35b348015610186575f80fd5b5061019a6101953660046115ff565b61040c565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf610422565b3480156101ec575f80fd5b5061019a6101fb366004611629565b610442565b34801561020b575f80fd5b5060405160098152602001610172565b348015610226575f80fd5b5061023a61023536600461167b565b6104a9565b005b348015610247575f80fd5b5061019a61025636600461173b565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561027e575f80fd5b506101bf61028d36600461173b565b6001600160a01b03165f9081526001602052604090205490565b3480156102b2575f80fd5b5061023a610543565b3480156102c6575f80fd5b5061023a6105b4565b3480156102da575f80fd5b506101bf600f5481565b3480156102ef575f80fd5b505f546040516001600160a01b039091168152602001610172565b348015610315575f80fd5b506101bf60105481565b34801561032a575f80fd5b50604080518082019091526006815265424f52494e4760d01b6020820152610165565b348015610358575f80fd5b5061019a6103673660046115ff565b610665565b348015610377575f80fd5b506101bf60115481565b34801561038c575f80fd5b5061023a610671565b3480156103a0575f80fd5b5061023a610a1e565b3480156103b4575f80fd5b5061023a6103c336600461167b565b610a52565b3480156103d3575f80fd5b506101bf6103e2366004611756565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610418338484610ae0565b5060015b92915050565b5f61042f6009600a611881565b61043d90631913385061188f565b905090565b5f61044e848484610c03565b61049f843361049a85604051806060016040528060288152602001611a21602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611209565b610ae0565b5060019392505050565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104d2906118a6565b60405180910390fd5b5f5b815181101561053f575f60045f8484815181106104fc576104fc6118db565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610537816118ef565b9150506104dd565b5050565b5f546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104d2906118a6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104d2906118a6565b6105e96009600a611881565b6105f790631913385061188f565b600f556106066009600a611881565b61061490631913385061188f565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106446009600a611881565b61065290631913385061188f565b60405190815260200160405180910390a1565b5f610418338484610c03565b5f546001600160a01b0316331461069a5760405162461bcd60e51b81526004016104d2906118a6565b601454600160a01b900460ff16156106f45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561073d90309061072f6009600a611881565b61049a90631913385061188f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b19190611907565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108349190611907565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561087e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a29190611907565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108e9816001600160a01b03165f9081526001602052604090205490565b5f806108fc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610962573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109879190611922565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109dc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a00919061194d565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a475760405162461bcd60e51b81526004016104d2906118a6565b610a5047611241565b565b5f546001600160a01b03163314610a7b5760405162461bcd60e51b81526004016104d2906118a6565b5f5b815181101561053f57600160045f848481518110610a9d57610a9d6118db565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610ad8816118ef565b915050610a7d565b6001600160a01b038316610b425760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d2565b6001600160a01b038216610ba35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d2565b6001600160a01b038216610cc95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d2565b5f8111610d2a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d2565b5f80546001600160a01b03858116911614801590610d5557505f546001600160a01b03848116911614155b156110cc576001600160a01b0384165f9081526004602052604090205460ff16158015610d9a57506001600160a01b0383165f9081526004602052604090205460ff16155b610da2575f80fd5b610dce6064610dc8600b54600e5411610dbd57600754610dc1565b6009545b8590611278565b906112fd565b6014549091506001600160a01b038581169116148015610dfc57506013546001600160a01b03848116911614155b8015610e2057506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2757600f54821115610e775760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d2565b60105482610e99856001600160a01b03165f9081526001602052604090205490565b610ea3919061196c565b1115610ef15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d2565b436006546003610f01919061196c565b1115610f1257823b15610f12575f80fd5b600e8054905f610f21836118ef565b91905055505b6014546001600160a01b03848116911614801590610f5d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fdc5760105482610f84856001600160a01b03165f9081526001602052604090205490565b610f8e919061196c565b1115610fdc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d2565b6014546001600160a01b03848116911614801561100257506001600160a01b0384163014155b1561102f5761102c6064610dc8600c54600e541161102257600854610dc1565b600a548590611278565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561106557506014546001600160a01b038581169116145b801561107a5750601454600160b01b900460ff165b8015611087575060115481115b80156110965750600d54600e54115b156110ca576110b86110b3846110ae8460125461133e565b61133e565b611352565b4780156110c8576110c847611241565b505b505b801561114457305f908152600160205260409020546110eb90826114c2565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113b9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111669083611520565b6001600160a01b0385165f908152600160205260409020556111a961118b8383611520565b6001600160a01b0385165f90815260016020526040902054906114c2565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f28585611520565b60405190815260200160405180910390a350505050565b5f818484111561122c5760405162461bcd60e51b81526004016104d2919061158d565b505f611238848661197f565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053f573d5f803e3d5ffd5b5f825f0361128757505f61041c565b5f611292838561188f565b90508261129f8583611992565b146112f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d2565b9392505050565b5f6112f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611561565b5f81831161134c57826112f6565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611398576113986118db565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114139190611907565b81600181518110611426576114266118db565b6001600160a01b03928316602091820292909201015260135461144c9130911684610ae0565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114849085905f908690309042906004016119b1565b5f604051808303815f87803b15801561149b575f80fd5b505af11580156114ad573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f806114ce838561196c565b9050838110156112f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d2565b5f6112f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611209565b5f81836115815760405162461bcd60e51b81526004016104d2919061158d565b505f6112388486611992565b5f6020808352835180828501525f5b818110156115b85785810183015185820160400152820161159c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ec575f80fd5b50565b80356115fa816115d8565b919050565b5f8060408385031215611610575f80fd5b823561161b816115d8565b946020939093013593505050565b5f805f6060848603121561163b575f80fd5b8335611646816115d8565b92506020840135611656816115d8565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561168c575f80fd5b823567ffffffffffffffff808211156116a3575f80fd5b818501915085601f8301126116b6575f80fd5b8135818111156116c8576116c8611667565b8060051b604051601f19603f830116810181811085821117156116ed576116ed611667565b60405291825284820192508381018501918883111561170a575f80fd5b938501935b8285101561172f57611720856115ef565b8452938501939285019261170f565b98975050505050505050565b5f6020828403121561174b575f80fd5b81356112f6816115d8565b5f8060408385031215611767575f80fd5b8235611772816115d8565b91506020830135611782816115d8565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117db57815f19048211156117c1576117c161178d565b808516156117ce57918102915b93841c93908002906117a6565b509250929050565b5f826117f15750600161041c565b816117fd57505f61041c565b8160018114611813576002811461181d57611839565b600191505061041c565b60ff84111561182e5761182e61178d565b50506001821b61041c565b5060208310610133831016604e8410600b841016171561185c575081810a61041c565b61186683836117a1565b805f19048211156118795761187961178d565b029392505050565b5f6112f660ff8416836117e3565b808202811582820484141761041c5761041c61178d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016119005761190061178d565b5060010190565b5f60208284031215611917575f80fd5b81516112f6816115d8565b5f805f60608486031215611934575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561195d575f80fd5b815180151581146112f6575f80fd5b8082018082111561041c5761041c61178d565b8181038181111561041c5761041c61178d565b5f826119ac57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119ff5784516001600160a01b0316835293830193918301916001016119da565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1709552c4ef47dbc4d31f11f1d29270a7d99602ee7f263f820a63a564469e2964736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461034d578063bf474bed1461036c578063c9567bf914610381578063ce74602414610395578063d34628cc146103a9578063dd62ed3e146103c8575f80fd5b8063751039fc146102bb5780637d1db4a5146102cf5780638da5cb5b146102e45780638f9a55c01461030a57806395d89b411461031f575f80fd5b8063313ce567116100ee578063313ce5671461020057806331c2d8471461021b5780633bbac5791461023c57806370a0823114610273578063715018a6146102a7575f80fd5b806306fdde0314610134578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd57806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600d81526c546865204c6f6e6720446f676560981b60208201525b604051610172919061158d565b60405180910390f35b348015610186575f80fd5b5061019a6101953660046115ff565b61040c565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf610422565b3480156101ec575f80fd5b5061019a6101fb366004611629565b610442565b34801561020b575f80fd5b5060405160098152602001610172565b348015610226575f80fd5b5061023a61023536600461167b565b6104a9565b005b348015610247575f80fd5b5061019a61025636600461173b565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561027e575f80fd5b506101bf61028d36600461173b565b6001600160a01b03165f9081526001602052604090205490565b3480156102b2575f80fd5b5061023a610543565b3480156102c6575f80fd5b5061023a6105b4565b3480156102da575f80fd5b506101bf600f5481565b3480156102ef575f80fd5b505f546040516001600160a01b039091168152602001610172565b348015610315575f80fd5b506101bf60105481565b34801561032a575f80fd5b50604080518082019091526006815265424f52494e4760d01b6020820152610165565b348015610358575f80fd5b5061019a6103673660046115ff565b610665565b348015610377575f80fd5b506101bf60115481565b34801561038c575f80fd5b5061023a610671565b3480156103a0575f80fd5b5061023a610a1e565b3480156103b4575f80fd5b5061023a6103c336600461167b565b610a52565b3480156103d3575f80fd5b506101bf6103e2366004611756565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610418338484610ae0565b5060015b92915050565b5f61042f6009600a611881565b61043d90631913385061188f565b905090565b5f61044e848484610c03565b61049f843361049a85604051806060016040528060288152602001611a21602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611209565b610ae0565b5060019392505050565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104d2906118a6565b60405180910390fd5b5f5b815181101561053f575f60045f8484815181106104fc576104fc6118db565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610537816118ef565b9150506104dd565b5050565b5f546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104d2906118a6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104d2906118a6565b6105e96009600a611881565b6105f790631913385061188f565b600f556106066009600a611881565b61061490631913385061188f565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106446009600a611881565b61065290631913385061188f565b60405190815260200160405180910390a1565b5f610418338484610c03565b5f546001600160a01b0316331461069a5760405162461bcd60e51b81526004016104d2906118a6565b601454600160a01b900460ff16156106f45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561073d90309061072f6009600a611881565b61049a90631913385061188f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b19190611907565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108349190611907565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561087e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a29190611907565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108e9816001600160a01b03165f9081526001602052604090205490565b5f806108fc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610962573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109879190611922565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109dc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a00919061194d565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a475760405162461bcd60e51b81526004016104d2906118a6565b610a5047611241565b565b5f546001600160a01b03163314610a7b5760405162461bcd60e51b81526004016104d2906118a6565b5f5b815181101561053f57600160045f848481518110610a9d57610a9d6118db565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610ad8816118ef565b915050610a7d565b6001600160a01b038316610b425760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d2565b6001600160a01b038216610ba35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d2565b6001600160a01b038216610cc95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d2565b5f8111610d2a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d2565b5f80546001600160a01b03858116911614801590610d5557505f546001600160a01b03848116911614155b156110cc576001600160a01b0384165f9081526004602052604090205460ff16158015610d9a57506001600160a01b0383165f9081526004602052604090205460ff16155b610da2575f80fd5b610dce6064610dc8600b54600e5411610dbd57600754610dc1565b6009545b8590611278565b906112fd565b6014549091506001600160a01b038581169116148015610dfc57506013546001600160a01b03848116911614155b8015610e2057506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2757600f54821115610e775760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d2565b60105482610e99856001600160a01b03165f9081526001602052604090205490565b610ea3919061196c565b1115610ef15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d2565b436006546003610f01919061196c565b1115610f1257823b15610f12575f80fd5b600e8054905f610f21836118ef565b91905055505b6014546001600160a01b03848116911614801590610f5d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fdc5760105482610f84856001600160a01b03165f9081526001602052604090205490565b610f8e919061196c565b1115610fdc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d2565b6014546001600160a01b03848116911614801561100257506001600160a01b0384163014155b1561102f5761102c6064610dc8600c54600e541161102257600854610dc1565b600a548590611278565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561106557506014546001600160a01b038581169116145b801561107a5750601454600160b01b900460ff165b8015611087575060115481115b80156110965750600d54600e54115b156110ca576110b86110b3846110ae8460125461133e565b61133e565b611352565b4780156110c8576110c847611241565b505b505b801561114457305f908152600160205260409020546110eb90826114c2565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113b9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111669083611520565b6001600160a01b0385165f908152600160205260409020556111a961118b8383611520565b6001600160a01b0385165f90815260016020526040902054906114c2565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f28585611520565b60405190815260200160405180910390a350505050565b5f818484111561122c5760405162461bcd60e51b81526004016104d2919061158d565b505f611238848661197f565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053f573d5f803e3d5ffd5b5f825f0361128757505f61041c565b5f611292838561188f565b90508261129f8583611992565b146112f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d2565b9392505050565b5f6112f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611561565b5f81831161134c57826112f6565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611398576113986118db565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114139190611907565b81600181518110611426576114266118db565b6001600160a01b03928316602091820292909201015260135461144c9130911684610ae0565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114849085905f908690309042906004016119b1565b5f604051808303815f87803b15801561149b575f80fd5b505af11580156114ad573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f806114ce838561196c565b9050838110156112f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d2565b5f6112f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611209565b5f81836115815760405162461bcd60e51b81526004016104d2919061158d565b505f6112388486611992565b5f6020808352835180828501525f5b818110156115b85785810183015185820160400152820161159c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ec575f80fd5b50565b80356115fa816115d8565b919050565b5f8060408385031215611610575f80fd5b823561161b816115d8565b946020939093013593505050565b5f805f6060848603121561163b575f80fd5b8335611646816115d8565b92506020840135611656816115d8565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561168c575f80fd5b823567ffffffffffffffff808211156116a3575f80fd5b818501915085601f8301126116b6575f80fd5b8135818111156116c8576116c8611667565b8060051b604051601f19603f830116810181811085821117156116ed576116ed611667565b60405291825284820192508381018501918883111561170a575f80fd5b938501935b8285101561172f57611720856115ef565b8452938501939285019261170f565b98975050505050505050565b5f6020828403121561174b575f80fd5b81356112f6816115d8565b5f8060408385031215611767575f80fd5b8235611772816115d8565b91506020830135611782816115d8565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117db57815f19048211156117c1576117c161178d565b808516156117ce57918102915b93841c93908002906117a6565b509250929050565b5f826117f15750600161041c565b816117fd57505f61041c565b8160018114611813576002811461181d57611839565b600191505061041c565b60ff84111561182e5761182e61178d565b50506001821b61041c565b5060208310610133831016604e8410600b841016171561185c575081810a61041c565b61186683836117a1565b805f19048211156118795761187961178d565b029392505050565b5f6112f660ff8416836117e3565b808202811582820484141761041c5761041c61178d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016119005761190061178d565b5060010190565b5f60208284031215611917575f80fd5b81516112f6816115d8565b5f805f60608486031215611934575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561195d575f80fd5b815180151581146112f6575f80fd5b8082018082111561041c5761041c61178d565b8181038181111561041c5761041c61178d565b5f826119ac57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119ff5784516001600160a01b0316835293830193918301916001016119da565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1709552c4ef47dbc4d31f11f1d29270a7d99602ee7f263f820a63a564469e2964736f6c63430008140033

Deployed Bytecode Sourcemap

4435:8096:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6288:83;;;;;;;;;;-1:-1:-1;6358:5:0;;;;;;;;;;;;-1:-1:-1;;;6358:5:0;;;;6288:83;;;;;;;:::i;:::-;;;;;;;;7121:161;;;;;;;;;;-1:-1:-1;7121:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7121:161:0;1162:187:1;5562:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5562:51:0;1354:177:1;6565:95:0;;;;;;;;;;;;;:::i;7290:313::-;;;;;;;;;;-1:-1:-1;7290:313:0;;;;;:::i;:::-;;:::i;6474:83::-;;;;;;;;;;-1:-1:-1;6474:83:0;;5181:1;2139:36:1;;2127:2;2112:18;6474:83:0;1997:184:1;11517:162:0;;;;;;;;;;-1:-1:-1;11517:162:0;;;;;:::i;:::-;;:::i;:::-;;11687:83;;;;;;;;;;-1:-1:-1;11687:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11755:7:0;11734:4;11755:7;;;:4;:7;;;;;;;;;11687:83;6668:119;;;;;;;;;;-1:-1:-1;6668:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6761:18:0;6734:7;6761:18;;;:9;:18;;;;;;;6668:119;3516:148;;;;;;;;;;;;;:::i;11078:159::-;;;;;;;;;;;;;:::i;5374:54::-;;;;;;;;;;;;;;;;3302:79;;;;;;;;;;-1:-1:-1;3340:7:0;3367:6;3302:79;;-1:-1:-1;;;;;3367:6:0;;;3842:51:1;;3830:2;3815:18;3302:79:0;3696:203:1;5435:55:0;;;;;;;;;;;;;;;;6379:87;;;;;;;;;;-1:-1:-1;6451:7:0;;;;;;;;;;;;-1:-1:-1;;;6451:7:0;;;;6379:87;;6795:167;;;;;;;;;;-1:-1:-1;6795:167:0;;;;;:::i;:::-;;:::i;5497:58::-;;;;;;;;;;;;;;;;11778:707;;;;;;;;;;;;;:::i;10187:83::-;;;;;;;;;;;;;:::i;11345:164::-;;;;;;;;;;-1:-1:-1;11345:164:0;;;;;:::i;:::-;;:::i;6970:143::-;;;;;;;;;;-1:-1:-1;6970:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7078:18:0;;;7051:7;7078:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6970:143;7121:161;7196:4;7213:39;1136:10;7236:7;7245:6;7213:8;:39::i;:::-;-1:-1:-1;7270:4:0;7121:161;;;;;:::o;6565:95::-;6618:7;5237:13;5181:1;5237:2;:13;:::i;:::-;5224:26;;:9;:26;:::i;:::-;6638:14;;6565:95;:::o;7290:313::-;7388:4;7405:36;7415:6;7423:9;7434:6;7405:9;:36::i;:::-;7452:121;7461:6;1136:10;7483:89;7521:6;7483:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7483:19:0;;;;;;:11;:19;;;;;;;;1136:10;7483:33;;;;;;;;;;:37;:89::i;:::-;7452:8;:121::i;:::-;-1:-1:-1;7591:4:0;7290:313;;;;;:::o;11517:162::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;;;;;;;;;11590:6:::1;11585:87;11606:6;:13;11602:1;:17;11585:87;;;11657:5;11639:4;:15;11644:6;11651:1;11644:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11639:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11639:15:0;:23;;-1:-1:-1;;11639:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11621:3;::::1;::::0;::::1;:::i;:::-;;;;11585:87;;;;11517:162:::0;:::o;3516:148::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;3623:1:::1;3607:6:::0;;3586:40:::1;::::0;-1:-1:-1;;;;;3607:6:0;;::::1;::::0;3586:40:::1;::::0;3623:1;;3586:40:::1;3654:1;3637:19:::0;;-1:-1:-1;;;;;;3637:19:0::1;::::0;;3516:148::o;11078:159::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;5237:13:::1;5181:1;5237:2;:13;:::i;:::-;5224:26;::::0;:9:::1;:26;:::i;:::-;11131:12;:22:::0;5237:13:::1;5181:1;5237:2;:13;:::i;:::-;5224:26;::::0;:9:::1;:26;:::i;:::-;11164:14;:22:::0;11202:27:::1;5237:13;5181:1;5237:2;:13;:::i;:::-;5224:26;::::0;:9:::1;:26;:::i;:::-;11202:27;::::0;1500:25:1;;;1488:2;1473:18;11202:27:0::1;;;;;;;11078:159::o:0;6795:167::-;6873:4;6890:42;1136:10;6914:9;6925:6;6890:9;:42::i;11778:707::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;11842:11:::1;::::0;-1:-1:-1;;;11842:11:0;::::1;;;11841:12;11833:47;;;::::0;-1:-1:-1;;;11833:47:0;;6820:2:1;11833:47:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:25;6878:18;;;6871:53;6941:18;;11833:47:0::1;6618:347:1::0;11833:47:0::1;11891:15;:80:::0;;-1:-1:-1;;;;;;11891:80:0::1;11928:42;11891:80:::0;;::::1;::::0;;;11982:58:::1;::::0;11999:4:::1;::::0;5237:13:::1;5181:1;5237:2;:13;:::i;:::-;5224:26;::::0;:9:::1;:26;:::i;11982:58::-;12085:15;;;;;;;;;-1:-1:-1::0;;;;;12085:15:0::1;-1:-1:-1::0;;;;;12085:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12067:55:0::1;;12131:4;12138:15;;;;;;;;;-1:-1:-1::0;;;;;12138:15:0::1;-1:-1:-1::0;;;;;12138:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12067:94;::::0;-1:-1:-1;;;;;;12067:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;12067:94:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;12067:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12051:13;:110:::0;;-1:-1:-1;;;;;12051:110:0;;::::1;-1:-1:-1::0;;;;;;12051:110:0;;::::1;;::::0;;12172:15:::1;::::0;::::1;:31;12211:21;12242:4;12248:24;12242:4:::0;-1:-1:-1;;;;;6761:18:0;6734:7;6761:18;;;:9;:18;;;;;;;6668:119;12248:24:::1;12273:1;12275::::0;12277:7:::1;3340::::0;3367:6;-1:-1:-1;;;;;3367:6:0;;3302:79;12277:7:::1;12172:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12172:129:0;;;-1:-1:-1;;;;;7894:15:1;;;12172:129:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;12285:15:0::1;8108:19:1::0;;;8101:35;7810:19;;12172:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12319:13:0::1;::::0;12350:15:::1;::::0;12312:71:::1;::::0;-1:-1:-1;;;12312:71:0;;-1:-1:-1;;;;;12350:15:0;;::::1;12312:71;::::0;::::1;8632:51:1::0;-1:-1:-1;;8699:18:1;;;8692:34;12319:13:0;::::1;::::0;-1:-1:-1;12312:29:0::1;::::0;8605:18:1;;12312:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12394:11:0::1;:18:::0;;-1:-1:-1;;;;12423:18:0;-1:-1:-1;;;12423:18:0;;;12465:12:::1;12452:10;:25:::0;11778:707::o;10187:83::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;10230:35:::1;10243:21;10230:12;:35::i;:::-;10187:83::o:0;11345:164::-;3429:6;;-1:-1:-1;;;;;3429:6:0;1136:10;3429:22;3421:67;;;;-1:-1:-1;;;3421:67:0;;;;;;;:::i;:::-;11419:6:::1;11414:88;11435:5;:12;11431:1;:16;11414:88;;;11486:4;11469;:14;11474:5;11480:1;11474:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11469:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11469:14:0;:21;;-1:-1:-1;;11469:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11449:3;::::1;::::0;::::1;:::i;:::-;;;;11414:88;;7611:335:::0;-1:-1:-1;;;;;7704:19:0;;7696:68;;;;-1:-1:-1;;;7696:68:0;;9221:2:1;7696:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;7696:68:0;9019:400:1;7696:68:0;-1:-1:-1;;;;;7783:21:0;;7775:68;;;;-1:-1:-1;;;7775:68:0;;9626:2:1;7775:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;7775:68:0;9424:398:1;7775:68:0;-1:-1:-1;;;;;7854:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7906:32;;1500:25:1;;;7906:32:0;;1473:18:1;7906:32:0;;;;;;;7611:335;;;:::o;7954:2228::-;-1:-1:-1;;;;;8042:18:0;;8034:68;;;;-1:-1:-1;;;8034:68:0;;10029:2:1;8034:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;8034:68:0;9827:401:1;8034:68:0;-1:-1:-1;;;;;8121:16:0;;8113:64;;;;-1:-1:-1;;;8113:64:0;;10435:2:1;8113:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;8113:64:0;10233:399:1;8113:64:0;8205:1;8196:6;:10;8188:64;;;;-1:-1:-1;;;8188:64:0;;10839:2:1;8188:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;8188:64:0;10637:405:1;8188:64:0;8263:17;3367:6;;-1:-1:-1;;;;;8297:15:0;;;3367:6;;8297:15;;;;:32;;-1:-1:-1;3340:7:0;3367:6;-1:-1:-1;;;;;8316:13:0;;;3367:6;;8316:13;;8297:32;8293:1533;;;-1:-1:-1;;;;;8355:10:0;;;;;;:4;:10;;;;;;;;8354:11;:24;;;;-1:-1:-1;;;;;;8370:8:0;;;;;;:4;:8;;;;;;;;8369:9;8354:24;8346:33;;;;;;8406:76;8478:3;8406:67;8428:15;;8418:9;;:25;8417:55;;8458:14;;8417:55;;;8445:12;;8417:55;8406:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8511:13;;8394:88;;-1:-1:-1;;;;;;8503:21:0;;;8511:13;;8503:21;:55;;;;-1:-1:-1;8542:15:0;;-1:-1:-1;;;;;8528:30:0;;;8542:15;;8528:30;;8503:55;:83;;;;-1:-1:-1;;;;;;8564:22:0;;;;;;:18;:22;;;;;;;;8562:24;8503:83;8499:436;;;8626:12;;8616:6;:22;;8608:60;;;;-1:-1:-1;;;8608:60:0;;11249:2:1;8608:60:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:27;11307:18;;;11300:55;11372:18;;8608:60:0;11047:349:1;8608:60:0;8721:14;;8711:6;8695:13;8705:2;-1:-1:-1;;;;;6761:18:0;6734:7;6761:18;;;:9;:18;;;;;;;6668:119;8695:13;:22;;;;:::i;:::-;:40;;8687:79;;;;-1:-1:-1;;;8687:79:0;;11733:2:1;8687:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;8687:79:0;11531:350:1;8687:79:0;8809:12;8791:10;;8804:1;8791:14;;;;:::i;:::-;:30;8787:103;;;10515:20;;10563:8;8846:24;;;;;;8908:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8499:436;8961:13;;-1:-1:-1;;;;;8955:19:0;;;8961:13;;8955:19;;;;:47;;-1:-1:-1;;;;;;8980:22:0;;;;;;:18;:22;;;;;;;;8978:24;8955:47;8951:167;;;9057:14;;9047:6;9031:13;9041:2;-1:-1:-1;;;;;6761:18:0;6734:7;6761:18;;;:9;:18;;;;;;;6668:119;9031:13;:22;;;;:::i;:::-;:40;;9023:79;;;;-1:-1:-1;;;9023:79:0;;11733:2:1;9023:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;9023:79:0;11531:350:1;9023:79:0;9143:13;;-1:-1:-1;;;;;9137:19:0;;;9143:13;;9137:19;:43;;;;-1:-1:-1;;;;;;9160:20:0;;9175:4;9160:20;;9137:43;9134:174;;;9213:79;9288:3;9213:70;9235:16;;9225:9;;:26;9224:58;;9267:15;;9224:58;;;9253:13;;9213:6;;:10;:70::i;:79::-;9201:91;;9134:174;9373:4;9324:28;6761:18;;;:9;:18;;;;;;9399:6;;-1:-1:-1;;;9399:6:0;;;;9398:7;:32;;;;-1:-1:-1;9417:13:0;;-1:-1:-1;;;;;9409:21:0;;;9417:13;;9409:21;9398:32;:47;;;;-1:-1:-1;9434:11:0;;-1:-1:-1;;;9434:11:0;;;;9398:47;:89;;;;;9470:17;;9449:20;:38;9398:89;:121;;;;;9501:18;;9491:9;;:28;9398:121;9394:421;;;9540:67;9557:49;9561:6;9568:37;9572:20;9593:11;;9568:3;:37::i;:::-;9557:3;:49::i;:::-;9540:16;:67::i;:::-;9655:21;9698:22;;9695:105;;9745:35;9758:21;9745:12;:35::i;:::-;9521:294;9394:421;8331:1495;8293:1533;9841:11;;9838:161;;9909:4;9891:24;;;;:9;:24;;;;;;:39;;9920:9;9891:28;:39::i;:::-;9884:4;9866:24;;;;:9;:24;;;;;;;:64;;;;9948:39;;-1:-1:-1;;;;;9948:39:0;;;;;;;9977:9;1500:25:1;;1488:2;1473:18;;1354:177;9948:39:0;;;;;;;;9838:161;-1:-1:-1;;;;;10025:15:0;;;;;;:9;:15;;;;;;:27;;10045:6;10025:19;:27::i;:::-;-1:-1:-1;;;;;10009:15:0;;;;;;:9;:15;;;;;:43;10077:40;10095:21;:6;10106:9;10095:10;:21::i;:::-;-1:-1:-1;;;;;10077:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10063:13:0;;;;;;;:9;:13;;;;;:54;;;;10133:41;;;10152:21;:6;10163:9;10152:10;:21::i;:::-;10133:41;;1500:25:1;;;1488:2;1473:18;10133:41:0;;;;;;;8023:2159;7954:2228;;;:::o;2194:190::-;2280:7;2316:12;2308:6;;;;2300:29;;;;-1:-1:-1;;;2300:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2340:9:0;2352:5;2356:1;2352;:5;:::i;:::-;2340:17;2194:190;-1:-1:-1;;;;;2194:190:0:o;11245:92::-;11302:10;;:27;;-1:-1:-1;;;;;11302:10:0;;;;:27;;;;;11322:6;;11302:10;:27;:10;:27;11322:6;11302:10;:27;;;;;;;;;;;;;;;;;;;2392:246;2450:7;2474:1;2479;2474:6;2470:47;;-1:-1:-1;2504:1:0;2497:8;;2470:47;2527:9;2539:5;2543:1;2539;:5;:::i;:::-;2527:17;-1:-1:-1;2572:1:0;2563:5;2567:1;2527:17;2563:5;:::i;:::-;:10;2555:56;;;;-1:-1:-1;;;2555:56:0;;12443:2:1;2555:56:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:34;12501:18;;;12494:62;-1:-1:-1;;;12572:18:1;;;12565:31;12613:19;;2555:56:0;12241:397:1;2555:56:0;2629:1;2392:246;-1:-1:-1;;;2392:246:0:o;2646:132::-;2704:7;2731:39;2735:1;2738;2731:39;;;;;;;;;;;;;;;;;:3;:39::i;10278:98::-;10335:7;10362:1;10360;:3;10359:9;;10367:1;10359:9;;;-1:-1:-1;10365:1:0;10278:98;-1:-1:-1;10278:98:0:o;10587:483::-;5895:6;:13;;-1:-1:-1;;;;5895:13:0;-1:-1:-1;;;5895:13:0;;;10689:16:::1;::::0;;10703:1:::1;10689:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10689:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10689:16:0::1;10665:40;;10734:4;10716;10721:1;10716:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10716:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10760:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10760:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10716:7;;10760:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10750:4;10755:1;10750:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10750:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10825:15:::1;::::0;10793:62:::1;::::0;10810:4:::1;::::0;10825:15:::1;10843:11:::0;10793:8:::1;:62::i;:::-;10866:15;::::0;:196:::1;::::0;-1:-1:-1;;;10866:196:0;;-1:-1:-1;;;;;10866:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10947:11;;10866:15:::1;::::0;10989:4;;11016::::1;::::0;11036:15:::1;::::0;10866:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5931:6:0;:14;;-1:-1:-1;;;;5931:14:0;;;-1:-1:-1;;;;10587:483:0:o;1863:179::-;1921:7;;1953:5;1957:1;1953;:5;:::i;:::-;1941:17;;1982:1;1977;:6;;1969:46;;;;-1:-1:-1;;;1969:46:0;;13830:2:1;1969:46:0;;;13812:21:1;13869:2;13849:18;;;13842:30;13908:29;13888:18;;;13881:57;13955:18;;1969:46:0;13628:351:1;2050:136:0;2108:7;2135:43;2139:1;2142;2135:43;;;;;;;;;;;;;;;;;:3;:43::i;2786:189::-;2872:7;2907:12;2900:5;2892:28;;;;-1:-1:-1;;;2892:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2931:9:0;2943:5;2947:1;2943;: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: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:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;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:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;8737:277::-;8804:6;8857:2;8845:9;8836:7;8832:23;8828:32;8825:52;;;8873:1;8870;8863:12;8825:52;8905:9;8899:16;8958:5;8951:13;8944:21;8937:5;8934:32;8924:60;;8980:1;8977;8970:12;11401:125;11466:9;;;11487:10;;;11484:36;;;11500:18;;:::i;11886:128::-;11953:9;;;11974:11;;;11971:37;;;11988:18;;:::i;12019:217::-;12059:1;12085;12075:132;;12129:10;12124:3;12120:20;12117:1;12110:31;12164:4;12161:1;12154:15;12192:4;12189:1;12182:15;12075:132;-1:-1:-1;12221:9:1;;12019:217::o;12643:980::-;12905:4;12953:3;12942:9;12938:19;12984:6;12973:9;12966:25;13010:2;13048:6;13043:2;13032:9;13028:18;13021:34;13091:3;13086:2;13075:9;13071:18;13064:31;13115:6;13150;13144:13;13181:6;13173;13166:22;13219:3;13208:9;13204:19;13197:26;;13258:2;13250:6;13246:15;13232:29;;13279:1;13289:195;13303:6;13300:1;13297:13;13289:195;;;13368:13;;-1:-1:-1;;;;;13364:39:1;13352:52;;13459:15;;;;13424:12;;;;13400:1;13318:9;13289:195;;;-1:-1:-1;;;;;;;13540:32:1;;;;13535:2;13520:18;;13513:60;-1:-1:-1;;;13604:3:1;13589:19;13582:35;13501:3;12643:980;-1:-1:-1;;;12643:980:1:o

Swarm Source

ipfs://c1709552c4ef47dbc4d31f11f1d29270a7d99602ee7f263f820a63a564469e29

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.