ETH Price: $1,948.77 (-1.50%)

Contract

0xDadc079fb4Ea453C8d48B258E93066D4b7bBF63a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer237154082025-11-03 1:06:11125 days ago1762131971IN
0xDadc079f...4b7bBF63a
0 ETH0.000017990.28059631
Approve237147872025-11-02 23:01:35125 days ago1762124495IN
0xDadc079f...4b7bBF63a
0 ETH0.000006670.14339085
Approve237147742025-11-02 22:58:47125 days ago1762124327IN
0xDadc079f...4b7bBF63a
0 ETH0.000004510.096924
Approve237147672025-11-02 22:57:23125 days ago1762124243IN
0xDadc079f...4b7bBF63a
0 ETH0.00000590.12687403
Approve237146742025-11-02 22:38:47125 days ago1762123127IN
0xDadc079f...4b7bBF63a
0 ETH0.000004740.10188882
Approve237146692025-11-02 22:37:47125 days ago1762123067IN
0xDadc079f...4b7bBF63a
0 ETH0.000017960.38604683
Approve237146432025-11-02 22:32:35125 days ago1762122755IN
0xDadc079f...4b7bBF63a
0 ETH0.00000550.11834289
Approve237146112025-11-02 22:26:11125 days ago1762122371IN
0xDadc079f...4b7bBF63a
0 ETH0.000005310.11414823
Approve236991062025-10-31 18:24:47127 days ago1761935087IN
0xDadc079f...4b7bBF63a
0 ETH0.000020660.44395188
Approve230465162025-08-01 13:25:35218 days ago1754054735IN
0xDadc079f...4b7bBF63a
0 ETH0.00008611.84866421
Approve230455332025-08-01 10:07:59218 days ago1754042879IN
0xDadc079f...4b7bBF63a
0 ETH0.000025430.54690594
Approve230434192025-08-01 3:02:47219 days ago1754017367IN
0xDadc079f...4b7bBF63a
0 ETH0.000109912.37515091
Approve230431292025-08-01 2:03:59219 days ago1754013839IN
0xDadc079f...4b7bBF63a
0 ETH0.000029830.64065803
Approve230431212025-08-01 2:02:23219 days ago1754013743IN
0xDadc079f...4b7bBF63a
0 ETH0.000030650.65824347
Approve230430842025-08-01 1:54:59219 days ago1754013299IN
0xDadc079f...4b7bBF63a
0 ETH0.000255085.47655599
Approve225952632025-05-30 11:30:35281 days ago1748604635IN
0xDadc079f...4b7bBF63a
0 ETH0.00017633.78526471
Approve225510182025-05-24 6:47:59287 days ago1748069279IN
0xDadc079f...4b7bBF63a
0 ETH0.000160943.45553801
Approve225510152025-05-24 6:47:23287 days ago1748069243IN
0xDadc079f...4b7bBF63a
0 ETH0.00016143.46533197
Approve225337342025-05-21 20:46:23290 days ago1747860383IN
0xDadc079f...4b7bBF63a
0 ETH0.000056321.2164358
Approve225323232025-05-21 16:01:11290 days ago1747843271IN
0xDadc079f...4b7bBF63a
0 ETH0.000298886.4186224
Approve225319422025-05-21 14:44:35290 days ago1747838675IN
0xDadc079f...4b7bBF63a
0 ETH0.000253035.43259692
Approve225318002025-05-21 14:15:47290 days ago1747836947IN
0xDadc079f...4b7bBF63a
0 ETH0.000348277.47939833
Approve225316412025-05-21 13:43:47290 days ago1747835027IN
0xDadc079f...4b7bBF63a
0 ETH0.000230214.94258313
Approve225315322025-05-21 13:21:59290 days ago1747833719IN
0xDadc079f...4b7bBF63a
0 ETH0.00016163.46957994
Approve225315272025-05-21 13:20:59290 days ago1747833659IN
0xDadc079f...4b7bBF63a
0 ETH0.000301696.47911106
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer221662422025-03-31 10:16:11341 days ago1743416171
0xDadc079f...4b7bBF63a
0.07127379 ETH
Transfer221662422025-03-31 10:16:11341 days ago1743416171
0xDadc079f...4b7bBF63a
0.07127379 ETH
Transfer221662362025-03-31 10:14:59341 days ago1743416099
0xDadc079f...4b7bBF63a
0.06959449 ETH
Transfer221662362025-03-31 10:14:59341 days ago1743416099
0xDadc079f...4b7bBF63a
0.06959449 ETH
Transfer221662332025-03-31 10:14:23341 days ago1743416063
0xDadc079f...4b7bBF63a
0.11377094 ETH
Transfer221662332025-03-31 10:14:23341 days ago1743416063
0xDadc079f...4b7bBF63a
0.11377094 ETH
Transfer221662242025-03-31 10:12:35341 days ago1743415955
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662242025-03-31 10:12:35341 days ago1743415955
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662202025-03-31 10:11:47341 days ago1743415907
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662202025-03-31 10:11:47341 days ago1743415907
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662102025-03-31 10:09:47341 days ago1743415787
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662102025-03-31 10:09:47341 days ago1743415787
0xDadc079f...4b7bBF63a
0.18135533 ETH
Transfer221662042025-03-31 10:08:35341 days ago1743415715
0xDadc079f...4b7bBF63a
0.17367702 ETH
Transfer221662042025-03-31 10:08:35341 days ago1743415715
0xDadc079f...4b7bBF63a
0.17367702 ETH
Transfer221662032025-03-31 10:08:23341 days ago1743415703
0xDadc079f...4b7bBF63a
0.05070356 ETH
Transfer221662032025-03-31 10:08:23341 days ago1743415703
0xDadc079f...4b7bBF63a
0.05070356 ETH
Transfer221661952025-03-31 10:06:47341 days ago1743415607
0xDadc079f...4b7bBF63a
0.22883043 ETH
Transfer221661952025-03-31 10:06:47341 days ago1743415607
0xDadc079f...4b7bBF63a
0.22883043 ETH
Transfer221661932025-03-31 10:06:23341 days ago1743415583
0xDadc079f...4b7bBF63a
0.206553 ETH
Transfer221661932025-03-31 10:06:23341 days ago1743415583
0xDadc079f...4b7bBF63a
0.206553 ETH
Transfer221661892025-03-31 10:05:35341 days ago1743415535
0xDadc079f...4b7bBF63a
0.2153055 ETH
Transfer221661892025-03-31 10:05:35341 days ago1743415535
0xDadc079f...4b7bBF63a
0.2153055 ETH
Transfer221661872025-03-31 10:05:11341 days ago1743415511
0xDadc079f...4b7bBF63a
0.19431446 ETH
Transfer221661872025-03-31 10:05:11341 days ago1743415511
0xDadc079f...4b7bBF63a
0.19431446 ETH
Transfer221661832025-03-31 10:04:23341 days ago1743415463
0xDadc079f...4b7bBF63a
0.24202704 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KAGE

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2025-03-31
*/

// SPDX-License-Identifier: MIT

/*
Chibawan is the beloved shelter where the heartwarming journeys of Doge, Neiro, and Cocoro began.
We asked them about Cocoro's parents, and to our surprise, they were incredibly friendly and helpful. 
They even scanned and shared several photos of Cocoro’s dad, Kage.

https://kageerc.xyz/
https://x.com/Kage_erc
https://t.me/KageERC
*/

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 KAGE 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=19;
    uint256 private _initialSellTax=19;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=1;
    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"KAGE-COCORO'S DAD";
    string private constant _symbol = unicode"KAGE";
    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(0x75201bE888FCAF56e8393365eD45d7136Ef06299);
        _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

API
[{"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"}]

6080604052601360065560136007555f6008555f6009556001600a556001600b556014600c555f600d555f600e5560646009600a6200003f9190620005b6565b6200004f90633b9aca00620005cd565b6200005b9190620005e7565b62000068906002620005cd565b600f5560646200007b6009600a620005b6565b6200008b90633b9aca00620005cd565b620000979190620005e7565b620000a4906002620005cd565b6010556103e8620000b86009600a620005b6565b620000c890633b9aca00620005cd565b620000d49190620005e7565b620000e1906001620005cd565b6011556064620000f46009600a620005b6565b6200010490633b9aca00620005cd565b620001109190620005e7565b6200011d906001620005cd565b6012556014805461ffff60a81b191690555f601581905560165534801562000143575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319167375201be888fcaf56e8393365ed45d7136ef06299179055620001b86009600a620005b6565b620001c890633b9aca00620005cd565b335f908152600160208190526040822092909255600390620001f15f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600384528281208054861660019081179091556005549092168152829020805490941617909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620002a7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000607565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000353919062000607565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200039e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003c4919062000607565b601480546001600160a01b0319166001600160a01b0392831690811790915560135460405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af115801562000428573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200044e91906200062f565b50335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004806009600a620005b6565b6200049090633b9aca00620005cd565b60405190815260200160405180910390a362000650565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004fb57815f1904821115620004df57620004df620004a7565b80851615620004ed57918102915b93841c9390800290620004c0565b509250929050565b5f826200051357506001620005b0565b816200052157505f620005b0565b81600181146200053a5760028114620005455762000565565b6001915050620005b0565b60ff841115620005595762000559620004a7565b50506001821b620005b0565b5060208310610133831016604e8410600b84101617156200058a575081810a620005b0565b620005968383620004bb565b805f1904821115620005ac57620005ac620004a7565b0290505b92915050565b5f620005c660ff84168362000503565b9392505050565b8082028115828204841417620005b057620005b0620004a7565b5f826200060257634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000618575f80fd5b81516001600160a01b0381168114620005c6575f80fd5b5f6020828403121562000640575f80fd5b81518015158114620005c6575f80fd5b61188c806200065e5f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b41146103565780639b8fe42214610382578063a9059cbb146103a1578063b0bac86e146103c0578063bf474bed146103d4578063dd62ed3e146103e9575f80fd5b80637d1db4a5146102d3578063874d9e3b146102e85780638a8c523c146103075780638da5cb5b1461031b5780638f9a55c014610341575f80fd5b8063313ce567116100f9578063313ce5671461020f5780633bbac5791461022a57806362256589146102615780636fc3eaec1461027757806370a082311461028b578063715018a6146102bf575f80fd5b806306fdde031461013f578063095ea7b31461018a5780630faee56f146101b957806318160ddd146101dc57806323b872dd146101f0575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152601181527012d051d14b50d3d0d3d493c9d4c8111051607a1b60208201525b60405161018191906113ba565b60405180910390f35b348015610195575f80fd5b506101a96101a436600461142a565b61042d565b6040519015158152602001610181565b3480156101c4575f80fd5b506101ce60125481565b604051908152602001610181565b3480156101e7575f80fd5b506101ce610443565b3480156101fb575f80fd5b506101a961020a366004611454565b610463565b34801561021a575f80fd5b5060405160098152602001610181565b348015610235575f80fd5b506101a9610244366004611492565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026c575f80fd5b506102756104ca565b005b348015610282575f80fd5b50610275610584565b348015610296575f80fd5b506101ce6102a5366004611492565b6001600160a01b03165f9081526001602052604090205490565b3480156102ca575f80fd5b506102756105b0565b3480156102de575f80fd5b506101ce600f5481565b3480156102f3575f80fd5b506102756103023660046114c1565b610621565b348015610312575f80fd5b506102756106a9565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610181565b34801561034c575f80fd5b506101ce60105481565b348015610361575f80fd5b506040805180820190915260048152634b41474560e01b6020820152610174565b34801561038d575f80fd5b5061027561039c3660046114c1565b610843565b3480156103ac575f80fd5b506101a96103bb36600461142a565b6108c6565b3480156103cb575f80fd5b506102756108d2565b3480156103df575f80fd5b506101ce60115481565b3480156103f4575f80fd5b506101ce610403366004611581565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61043933848461091f565b5060015b92915050565b5f6104506009600a6116ac565b61045e90633b9aca006116ba565b905090565b5f61046f848484610a42565b6104c084336104bb8560405180606001604052806028815260200161182f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611036565b61091f565b5060019392505050565b5f546001600160a01b031633146104fc5760405162461bcd60e51b81526004016104f3906116d1565b60405180910390fd5b6105086009600a6116ac565b61051690633b9aca006116ba565b600f556105256009600a6116ac565b61053390633b9aca006116ba565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105636009600a6116ac565b61057190633b9aca006116ba565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b0316146105a3575f80fd5b476105ad8161106e565b50565b5f546001600160a01b031633146105d95760405162461bcd60e51b81526004016104f3906116d1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461064a5760405162461bcd60e51b81526004016104f3906116d1565b5f5b81518110156106a557600160045f84848151811061066c5761066c611706565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161064c565b5050565b5f546001600160a01b031633146106d25760405162461bcd60e51b81526004016104f3906116d1565b601454600160a01b900460ff161561072c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f3565b6013546107589030906001600160a01b031661074a6009600a6116ac565b6104bb90633b9aca006116ba565b6013546001600160a01b031663f305d7194730610789816001600160a01b03165f9081526001602052604090205490565b5f8061079c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610802573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610827919061171a565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b0316331461086c5760405162461bcd60e51b81526004016104f3906116d1565b5f5b81518110156106a5575f60045f84848151811061088d5761088d611706565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161086e565b5f610439338484610a42565b6005546001600160a01b0316336001600160a01b0316146108f1575f80fd5b305f90815260016020526040902054801561090f5761090f816110a5565b4780156106a5576106a58161106e565b6001600160a01b0383166109815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f3565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f3565b6001600160a01b038216610b085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f3565b5f8111610b695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f3565b5f80546001600160a01b03858116911614801590610b9457505f546001600160a01b03848116911614155b15610ef9576001600160a01b0384165f9081526004602052604090205460ff16158015610bd957506001600160a01b0383165f9081526004602052604090205460ff16155b610be1575f80fd5b600e545f03610c1957610c166064610c10600a54600e5411610c0557600654610c09565b6008545b8590611215565b9061129a565b90505b600e5415610c3e57610c3b6064610c10600d548561121590919063ffffffff16565b90505b6014546001600160a01b038581169116148015610c6957506013546001600160a01b03848116911614155b8015610c8d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d9057600f54821115610ce45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f3565b60105482610d06856001600160a01b03165f9081526001602052604090205490565b610d109190611745565b1115610d5e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f3565b610d796064610c10600a54600e5411610c0557600654610c09565b600e80549192505f610d8a83611758565b91905055505b6014546001600160a01b038481169116148015610db657506001600160a01b0384163014155b15610de357610de06064610c10600b54600e5411610dd657600754610c09565b6009548590611215565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610e1957506014546001600160a01b038581169116145b8015610e2e5750601454600160b01b900460ff165b8015610e3b575060115481115b8015610e4a5750600c54600e54115b15610ef757601654431115610e5e575f6015555b600360155410610eb05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f3565b610ecd610ec884610ec3846012546112db565b6112db565b6110a5565b478015610edd57610edd4761106e565b60158054905f610eec83611758565b909155505043601655505b505b8015610f7157305f90815260016020526040902054610f1890826112ef565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f689085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f93908361134d565b6001600160a01b0385165f90815260016020526040902055610fd6610fb8838361134d565b6001600160a01b0385165f90815260016020526040902054906112ef565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61101f858561134d565b60405190815260200160405180910390a350505050565b5f81848411156110595760405162461bcd60e51b81526004016104f391906113ba565b505f6110658486611770565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a5573d5f803e3d5ffd5b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110eb576110eb611706565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611142573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111669190611783565b8160018151811061117957611179611706565b6001600160a01b03928316602091820292909201015260135461119f913091168461091f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d79085905f9086903090429060040161179e565b5f604051808303815f87803b1580156111ee575f80fd5b505af1158015611200573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f825f0361122457505f61043d565b5f61122f83856116ba565b90508261123c858361180f565b146112935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f3565b9392505050565b5f61129383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061138e565b5f8183116112e95782611293565b50919050565b5f806112fb8385611745565b9050838110156112935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f3565b5f61129383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611036565b5f81836113ae5760405162461bcd60e51b81526004016104f391906113ba565b505f611065848661180f565b5f602080835283518060208501525f5b818110156113e6578581018301518582016040015282016113ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ad575f80fd5b803561142581611406565b919050565b5f806040838503121561143b575f80fd5b823561144681611406565b946020939093013593505050565b5f805f60608486031215611466575f80fd5b833561147181611406565b9250602084013561148181611406565b929592945050506040919091013590565b5f602082840312156114a2575f80fd5b813561129381611406565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156114d2575f80fd5b823567ffffffffffffffff808211156114e9575f80fd5b818501915085601f8301126114fc575f80fd5b81358181111561150e5761150e6114ad565b8060051b604051601f19603f83011681018181108582111715611533576115336114ad565b604052918252848201925083810185019188831115611550575f80fd5b938501935b82851015611575576115668561141a565b84529385019392850192611555565b98975050505050505050565b5f8060408385031215611592575f80fd5b823561159d81611406565b915060208301356115ad81611406565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160657815f19048211156115ec576115ec6115b8565b808516156115f957918102915b93841c93908002906115d1565b509250929050565b5f8261161c5750600161043d565b8161162857505f61043d565b816001811461163e576002811461164857611664565b600191505061043d565b60ff841115611659576116596115b8565b50506001821b61043d565b5060208310610133831016604e8410600b8410161715611687575081810a61043d565b61169183836115cc565b805f19048211156116a4576116a46115b8565b029392505050565b5f61129360ff84168361160e565b808202811582820484141761043d5761043d6115b8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f805f6060848603121561172c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043d5761043d6115b8565b5f60018201611769576117696115b8565b5060010190565b8181038181111561043d5761043d6115b8565b5f60208284031215611793575f80fd5b815161129381611406565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117ee5784516001600160a01b0316835293830193918301916001016117c9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8e6824ae944d35f0f1b6ea4e79f43302d682ee90847a4deb2e120832dfba09264736f6c63430008170033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b41146103565780639b8fe42214610382578063a9059cbb146103a1578063b0bac86e146103c0578063bf474bed146103d4578063dd62ed3e146103e9575f80fd5b80637d1db4a5146102d3578063874d9e3b146102e85780638a8c523c146103075780638da5cb5b1461031b5780638f9a55c014610341575f80fd5b8063313ce567116100f9578063313ce5671461020f5780633bbac5791461022a57806362256589146102615780636fc3eaec1461027757806370a082311461028b578063715018a6146102bf575f80fd5b806306fdde031461013f578063095ea7b31461018a5780630faee56f146101b957806318160ddd146101dc57806323b872dd146101f0575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152601181527012d051d14b50d3d0d3d493c9d4c8111051607a1b60208201525b60405161018191906113ba565b60405180910390f35b348015610195575f80fd5b506101a96101a436600461142a565b61042d565b6040519015158152602001610181565b3480156101c4575f80fd5b506101ce60125481565b604051908152602001610181565b3480156101e7575f80fd5b506101ce610443565b3480156101fb575f80fd5b506101a961020a366004611454565b610463565b34801561021a575f80fd5b5060405160098152602001610181565b348015610235575f80fd5b506101a9610244366004611492565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026c575f80fd5b506102756104ca565b005b348015610282575f80fd5b50610275610584565b348015610296575f80fd5b506101ce6102a5366004611492565b6001600160a01b03165f9081526001602052604090205490565b3480156102ca575f80fd5b506102756105b0565b3480156102de575f80fd5b506101ce600f5481565b3480156102f3575f80fd5b506102756103023660046114c1565b610621565b348015610312575f80fd5b506102756106a9565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610181565b34801561034c575f80fd5b506101ce60105481565b348015610361575f80fd5b506040805180820190915260048152634b41474560e01b6020820152610174565b34801561038d575f80fd5b5061027561039c3660046114c1565b610843565b3480156103ac575f80fd5b506101a96103bb36600461142a565b6108c6565b3480156103cb575f80fd5b506102756108d2565b3480156103df575f80fd5b506101ce60115481565b3480156103f4575f80fd5b506101ce610403366004611581565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61043933848461091f565b5060015b92915050565b5f6104506009600a6116ac565b61045e90633b9aca006116ba565b905090565b5f61046f848484610a42565b6104c084336104bb8560405180606001604052806028815260200161182f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611036565b61091f565b5060019392505050565b5f546001600160a01b031633146104fc5760405162461bcd60e51b81526004016104f3906116d1565b60405180910390fd5b6105086009600a6116ac565b61051690633b9aca006116ba565b600f556105256009600a6116ac565b61053390633b9aca006116ba565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105636009600a6116ac565b61057190633b9aca006116ba565b60405190815260200160405180910390a1565b6005546001600160a01b0316336001600160a01b0316146105a3575f80fd5b476105ad8161106e565b50565b5f546001600160a01b031633146105d95760405162461bcd60e51b81526004016104f3906116d1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461064a5760405162461bcd60e51b81526004016104f3906116d1565b5f5b81518110156106a557600160045f84848151811061066c5761066c611706565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161064c565b5050565b5f546001600160a01b031633146106d25760405162461bcd60e51b81526004016104f3906116d1565b601454600160a01b900460ff161561072c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f3565b6013546107589030906001600160a01b031661074a6009600a6116ac565b6104bb90633b9aca006116ba565b6013546001600160a01b031663f305d7194730610789816001600160a01b03165f9081526001602052604090205490565b5f8061079c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610802573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610827919061171a565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b0316331461086c5760405162461bcd60e51b81526004016104f3906116d1565b5f5b81518110156106a5575f60045f84848151811061088d5761088d611706565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161086e565b5f610439338484610a42565b6005546001600160a01b0316336001600160a01b0316146108f1575f80fd5b305f90815260016020526040902054801561090f5761090f816110a5565b4780156106a5576106a58161106e565b6001600160a01b0383166109815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f3565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f3565b6001600160a01b038216610b085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f3565b5f8111610b695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f3565b5f80546001600160a01b03858116911614801590610b9457505f546001600160a01b03848116911614155b15610ef9576001600160a01b0384165f9081526004602052604090205460ff16158015610bd957506001600160a01b0383165f9081526004602052604090205460ff16155b610be1575f80fd5b600e545f03610c1957610c166064610c10600a54600e5411610c0557600654610c09565b6008545b8590611215565b9061129a565b90505b600e5415610c3e57610c3b6064610c10600d548561121590919063ffffffff16565b90505b6014546001600160a01b038581169116148015610c6957506013546001600160a01b03848116911614155b8015610c8d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d9057600f54821115610ce45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f3565b60105482610d06856001600160a01b03165f9081526001602052604090205490565b610d109190611745565b1115610d5e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f3565b610d796064610c10600a54600e5411610c0557600654610c09565b600e80549192505f610d8a83611758565b91905055505b6014546001600160a01b038481169116148015610db657506001600160a01b0384163014155b15610de357610de06064610c10600b54600e5411610dd657600754610c09565b6009548590611215565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610e1957506014546001600160a01b038581169116145b8015610e2e5750601454600160b01b900460ff165b8015610e3b575060115481115b8015610e4a5750600c54600e54115b15610ef757601654431115610e5e575f6015555b600360155410610eb05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f3565b610ecd610ec884610ec3846012546112db565b6112db565b6110a5565b478015610edd57610edd4761106e565b60158054905f610eec83611758565b909155505043601655505b505b8015610f7157305f90815260016020526040902054610f1890826112ef565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f689085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f93908361134d565b6001600160a01b0385165f90815260016020526040902055610fd6610fb8838361134d565b6001600160a01b0385165f90815260016020526040902054906112ef565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61101f858561134d565b60405190815260200160405180910390a350505050565b5f81848411156110595760405162461bcd60e51b81526004016104f391906113ba565b505f6110658486611770565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a5573d5f803e3d5ffd5b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110eb576110eb611706565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611142573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111669190611783565b8160018151811061117957611179611706565b6001600160a01b03928316602091820292909201015260135461119f913091168461091f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d79085905f9086903090429060040161179e565b5f604051808303815f87803b1580156111ee575f80fd5b505af1158015611200573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f825f0361122457505f61043d565b5f61122f83856116ba565b90508261123c858361180f565b146112935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f3565b9392505050565b5f61129383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061138e565b5f8183116112e95782611293565b50919050565b5f806112fb8385611745565b9050838110156112935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f3565b5f61129383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611036565b5f81836113ae5760405162461bcd60e51b81526004016104f391906113ba565b505f611065848661180f565b5f602080835283518060208501525f5b818110156113e6578581018301518582016040015282016113ca565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ad575f80fd5b803561142581611406565b919050565b5f806040838503121561143b575f80fd5b823561144681611406565b946020939093013593505050565b5f805f60608486031215611466575f80fd5b833561147181611406565b9250602084013561148181611406565b929592945050506040919091013590565b5f602082840312156114a2575f80fd5b813561129381611406565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156114d2575f80fd5b823567ffffffffffffffff808211156114e9575f80fd5b818501915085601f8301126114fc575f80fd5b81358181111561150e5761150e6114ad565b8060051b604051601f19603f83011681018181108582111715611533576115336114ad565b604052918252848201925083810185019188831115611550575f80fd5b938501935b82851015611575576115668561141a565b84529385019392850192611555565b98975050505050505050565b5f8060408385031215611592575f80fd5b823561159d81611406565b915060208301356115ad81611406565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160657815f19048211156115ec576115ec6115b8565b808516156115f957918102915b93841c93908002906115d1565b509250929050565b5f8261161c5750600161043d565b8161162857505f61043d565b816001811461163e576002811461164857611664565b600191505061043d565b60ff841115611659576116596115b8565b50506001821b61043d565b5060208310610133831016604e8410600b8410161715611687575081810a61043d565b61169183836115cc565b805f19048211156116a4576116a46115b8565b029392505050565b5f61129360ff84168361160e565b808202811582820484141761043d5761043d6115b8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f805f6060848603121561172c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043d5761043d6115b8565b5f60018201611769576117696115b8565b5060010190565b8181038181111561043d5761043d6115b8565b5f60208284031215611793575f80fd5b815161129381611406565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117ee5784516001600160a01b0316835293830193918301916001016117c9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261182957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8e6824ae944d35f0f1b6ea4e79f43302d682ee90847a4deb2e120832dfba09264736f6c63430008170033

Deployed Bytecode Sourcemap

3826:8663:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6107:83;;;;;;;;;;-1:-1:-1;6177:5:0;;;;;;;;;;;;-1:-1:-1;;;6177:5:0;;;;6107:83;;;;;;;:::i;:::-;;;;;;;;6940:161;;;;;;;;;;-1:-1:-1;6940:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6940:161:0;1162:187:1;4943:45:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4943:45:0;1354:177:1;6384:95:0;;;;;;;;;;;;;:::i;7109:313::-;;;;;;;;;;-1:-1:-1;7109:313:0;;;;;:::i;:::-;;:::i;6293:83::-;;;;;;;;;;-1:-1:-1;6293:83:0;;4573:1;2139:36:1;;2127:2;2112:18;6293:83:0;1997:184:1;11430:83:0;;;;;;;;;;-1:-1:-1;11430:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11498:7:0;11477:4;11498:7;;;:4;:7;;;;;;;;;11430:83;10828:158;;;;;;;;;;;;;:::i;:::-;;12299:187;;;;;;;;;;;;;:::i;6487:119::-;;;;;;;;;;-1:-1:-1;6487:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6580:18:0;6553:7;6580:18;;;:9;:18;;;;;;;6487:119;2907:148;;;;;;;;;;;;;:::i;4771:48::-;;;;;;;;;;;;;;;;11094:161;;;;;;;;;;-1:-1:-1;11094:161:0;;;;;:::i;:::-;;:::i;11521:379::-;;;;;;;;;;;;;:::i;2693:79::-;;;;;;;;;;-1:-1:-1;2731:7:0;2758:6;2693:79;;-1:-1:-1;;;;;2758:6:0;;;3842:51:1;;3830:2;3815:18;2693:79:0;3696:203:1;4826:50:0;;;;;;;;;;;;;;;;6198:87;;;;;;;;;;-1:-1:-1;6270:7:0;;;;;;;;;;;;-1:-1:-1;;;6270:7:0;;;;6198:87;;11263:159;;;;;;;;;;-1:-1:-1;11263:159:0;;;;;:::i;:::-;;:::i;6614:167::-;;;;;;;;;;-1:-1:-1;6614:167:0;;;;;:::i;:::-;;:::i;11945:346::-;;;;;;;;;;;;;:::i;4883:53::-;;;;;;;;;;;;;;;;6789:143;;;;;;;;;;-1:-1:-1;6789:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6897:18:0;;;6870:7;6897:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6789:143;6940:161;7015:4;7032:39;528:10;7055:7;7064:6;7032:8;:39::i;:::-;-1:-1:-1;7089:4:0;6940:161;;;;;:::o;6384:95::-;6437:7;4632:13;4573:1;4632:2;:13;:::i;:::-;4616:29;;:13;:29;:::i;:::-;6457:14;;6384:95;:::o;7109:313::-;7207:4;7224:36;7234:6;7242:9;7253:6;7224:9;:36::i;:::-;7271:121;7280:6;528:10;7302:89;7340:6;7302:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7302:19:0;;;;;;:11;:19;;;;;;;;528:10;7302:33;;;;;;;;;;:37;:89::i;:::-;7271:8;:121::i;:::-;-1:-1:-1;7410:4:0;7109:313;;;;;:::o;10828:158::-;2820:6;;-1:-1:-1;;;;;2820:6:0;528:10;2820:22;2812:67;;;;-1:-1:-1;;;2812:67:0;;;;;;;:::i;:::-;;;;;;;;;4632:13:::1;4573:1;4632:2;:13;:::i;:::-;4616:29;::::0;:13:::1;:29;:::i;:::-;10880:12;:22:::0;4632:13:::1;4573:1;4632:2;:13;:::i;:::-;4616:29;::::0;:13:::1;:29;:::i;:::-;10913:14;:22:::0;10951:27:::1;4632:13;4573:1;4632:2;:13;:::i;:::-;4616:29;::::0;:13:::1;:29;:::i;:::-;10951:27;::::0;1500:25:1;;;1488:2;1473:18;10951:27:0::1;;;;;;;10828:158::o:0;12299:187::-;12363:10;;-1:-1:-1;;;;;12363:10:0;528;-1:-1:-1;;;;;12349:24:0;;12341:33;;;;;;12414:21;12446:32;12414:21;12446:12;:32::i;:::-;12330:156;12299:187::o;2907:148::-;2820:6;;-1:-1:-1;;;;;2820:6:0;528:10;2820:22;2812:67;;;;-1:-1:-1;;;2812:67:0;;;;;;;:::i;:::-;3014:1:::1;2998:6:::0;;2977:40:::1;::::0;-1:-1:-1;;;;;2998:6:0;;::::1;::::0;2977:40:::1;::::0;3014:1;;2977:40:::1;3045:1;3028:19:::0;;-1:-1:-1;;;;;;3028:19:0::1;::::0;;2907:148::o;11094:161::-;2820:6;;-1:-1:-1;;;;;2820:6:0;528:10;2820:22;2812:67;;;;-1:-1:-1;;;2812:67:0;;;;;;;:::i;:::-;11165:6:::1;11160:88;11181:5;:12;11177:1;:16;11160:88;;;11232:4;11215;:14;11220:5;11226:1;11220:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11215:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11215:14:0;:21;;-1:-1:-1;;11215:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11195:3:0::1;11160:88;;;;11094:161:::0;:::o;11521:379::-;2820:6;;-1:-1:-1;;;;;2820:6:0;528:10;2820:22;2812:67;;;;-1:-1:-1;;;2812:67:0;;;;;;;:::i;:::-;11587:11:::1;::::0;-1:-1:-1;;;11587:11:0;::::1;;;11586:12;11578:47;;;::::0;-1:-1:-1;;;11578:47:0;;6674:2:1;11578:47:0::1;::::0;::::1;6656:21:1::0;6713:2;6693:18;;;6686:30;6752:25;6732:18;;;6725:53;6795:18;;11578:47:0::1;6472:347:1::0;11578:47:0::1;11668:15;::::0;11636:58:::1;::::0;11653:4:::1;::::0;-1:-1:-1;;;;;11668:15:0::1;4632:13;4573:1;4632:2;:13;:::i;:::-;4616:29;::::0;:13:::1;:29;:::i;11636:58::-;11705:15;::::0;-1:-1:-1;;;;;11705:15:0::1;:31;11744:21;11775:4;11781:24;11775:4:::0;-1:-1:-1;;;;;6580:18:0;6553:7;6580:18;;;:9;:18;;;;;;;6487:119;11781:24:::1;11806:1;11808::::0;11810:7:::1;2731::::0;2758:6;-1:-1:-1;;;;;2758:6:0;;2693:79;11810:7:::1;11705:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11705:129:0;;;-1:-1:-1;;;;;7183:15:1;;;11705: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;11818:15:0::1;7397:19:1::0;;;7390:35;7099:19;;11705:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11845:11:0::1;:18:::0;;-1:-1:-1;;;;11874:18:0;-1:-1:-1;;;11874:18:0;;;-1:-1:-1;11521:379:0:o;11263:159::-;2820:6;;-1:-1:-1;;;;;2820:6:0;528:10;2820:22;2812:67;;;;-1:-1:-1;;;2812:67:0;;;;;;;:::i;:::-;11333:6:::1;11328:87;11349:6;:13;11345:1;:17;11328:87;;;11400:5;11382:4;:15;11387:6;11394:1;11387:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11382:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11382:15:0;:23;;-1:-1:-1;;11382:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11364:3:0::1;11328:87;;6614:167:::0;6692:4;6709:42;528:10;6733:9;6744:6;6709:9;:42::i;11945:346::-;12007:10;;-1:-1:-1;;;;;12007:10:0;528;-1:-1:-1;;;;;11993:24:0;;11985:33;;;;;;12068:4;12029:20;6580:18;;;:9;:18;;;;;;12088:14;;12085:73;;12116:30;12133:12;12116:16;:30::i;:::-;12187:21;12222:12;;12219:65;;12248:24;12261:10;12248:12;:24::i;7430:335::-;-1:-1:-1;;;;;7523:19:0;;7515:68;;;;-1:-1:-1;;;7515:68:0;;7949:2:1;7515: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;;7515:68:0;7747:400:1;7515:68:0;-1:-1:-1;;;;;7602:21:0;;7594:68;;;;-1:-1:-1;;;7594:68:0;;8354:2:1;7594: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;;7594:68:0;8152:398:1;7594:68:0;-1:-1:-1;;;;;7673:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7725:32;;1500:25:1;;;7725:32:0;;1473:18:1;7725:32:0;;;;;;;7430:335;;;:::o;7773:2448::-;-1:-1:-1;;;;;7861:18:0;;7853:68;;;;-1:-1:-1;;;7853:68:0;;8757:2:1;7853: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;;7853:68:0;8555:401:1;7853:68:0;-1:-1:-1;;;;;7940:16:0;;7932:64;;;;-1:-1:-1;;;7932:64:0;;9163:2:1;7932: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;;7932:64:0;8961:399:1;7932:64:0;8024:1;8015:6;:10;8007:64;;;;-1:-1:-1;;;8007:64:0;;9567:2:1;8007: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;;8007:64:0;9365:405:1;8007:64:0;8082:17;2758:6;;-1:-1:-1;;;;;8116:15:0;;;2758:6;;8116:15;;;;:32;;-1:-1:-1;2731:7:0;2758:6;-1:-1:-1;;;;;8135:13:0;;;2758:6;;8135:13;;8116:32;8112:1753;;;-1:-1:-1;;;;;8174:10:0;;;;;;:4;:10;;;;;;;;8173:11;:24;;;;-1:-1:-1;;;;;;8189:8:0;;;;;;:4;:8;;;;;;;;8188:9;8173:24;8165:33;;;;;;8218:9;;8229:1;8218:12;8215:139;;8262:76;8334:3;8262:67;8284:15;;8274:9;;:25;8273:55;;8314:14;;8273:55;;;8301:12;;8273:55;8262:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8250:88;;8215:139;8371:9;;:11;8368:95;;8414:33;8443:3;8414:24;8425:12;;8414:6;:10;;:24;;;;:::i;:33::-;8402:45;;8368:95;8491:13;;-1:-1:-1;;;;;8483:21:0;;;8491:13;;8483:21;:55;;;;-1:-1:-1;8522:15:0;;-1:-1:-1;;;;;8508:30:0;;;8522:15;;8508:30;;8483:55;:83;;;;-1:-1:-1;;;;;;8544:22:0;;;;;;:18;:22;;;;;;;;8542:24;8483:83;8479:420;;;8606:12;;8596:6;:22;;8588:60;;;;-1:-1:-1;;;8588:60:0;;9977:2:1;8588:60:0;;;9959:21:1;10016:2;9996:18;;;9989:30;10055:27;10035:18;;;10028:55;10100:18;;8588:60:0;9775:349:1;8588:60:0;8701:14;;8691:6;8675:13;8685:2;-1:-1:-1;;;;;6580:18:0;6553:7;6580:18;;;:9;:18;;;;;;;6487:119;8675:13;:22;;;;:::i;:::-;:40;;8667:79;;;;-1:-1:-1;;;8667:79:0;;10461:2:1;8667:79:0;;;10443:21:1;10500:2;10480:18;;;10473:30;10539:28;10519:18;;;10512:56;10585:18;;8667:79:0;10259:350:1;8667:79:0;8777:76;8849:3;8777:67;8799:15;;8789:9;;:25;8788:55;;8829:14;;8788:55;;8777:76;8872:9;:11;;8765:88;;-1:-1:-1;8872:9:0;:11;;;:::i;:::-;;;;;;8479:420;8924:13;;-1:-1:-1;;;;;8918:19:0;;;8924:13;;8918:19;:43;;;;-1:-1:-1;;;;;;8941:20:0;;8956:4;8941:20;;8918:43;8915:174;;;8994:79;9069:3;8994:70;9016:16;;9006:9;;:26;9005:58;;9048:15;;9005:58;;;9034:13;;8994:6;;:10;:70::i;:79::-;8982:91;;8915:174;9154:4;9105:28;6580:18;;;:9;:18;;;;;;9180:6;;-1:-1:-1;;;9180:6:0;;;;9179:7;:30;;;;-1:-1:-1;9196:13:0;;-1:-1:-1;;;;;9190:19:0;;;9196:13;;9190:19;9179:30;:45;;;;-1:-1:-1;9213:11:0;;-1:-1:-1;;;9213:11:0;;;;9179:45;:89;;;;;9251:17;;9228:20;:40;9179:89;:123;;;;;9284:18;;9272:9;;:30;9179:123;9175:679;;;9342:13;;9327:12;:28;9323:90;;;9392:1;9380:9;:13;9323:90;9451:1;9439:9;;:13;9431:49;;;;-1:-1:-1;;;9431:49:0;;10956:2:1;9431:49:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:25;11014:18;;;11007:53;11077:18;;9431:49:0;10754:347:1;9431:49:0;9499:69;9516:51;9520:6;9528:38;9532:20;9554:11;;9528:3;:38::i;:::-;9516:3;:51::i;:::-;9499:16;:69::i;:::-;9616:21;9660:22;;9656:106;;9707:35;9720:21;9707:12;:35::i;:::-;9780:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9826:12:0;9810:13;:28;-1:-1:-1;9175:679:0;8150:1715;8112:1753;9880:11;;9877:161;;9948:4;9930:24;;;;:9;:24;;;;;;:39;;9959:9;9930:28;:39::i;:::-;9923:4;9905:24;;;;:9;:24;;;;;;;:64;;;;9987:39;;-1:-1:-1;;;;;9987:39:0;;;;;;;10016:9;1500:25:1;;1488:2;1473:18;;1354:177;9987:39:0;;;;;;;;9877:161;-1:-1:-1;;;;;10064:15:0;;;;;;:9;:15;;;;;;:27;;10084:6;10064:19;:27::i;:::-;-1:-1:-1;;;;;10048:15:0;;;;;;:9;:15;;;;;:43;10116:40;10134:21;:6;10145:9;10134:10;:21::i;:::-;-1:-1:-1;;;;;10116:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10102:13:0;;;;;;;:9;:13;;;;;:54;;;;10172:41;;;10191:21;:6;10202:9;10191:10;:21::i;:::-;10172:41;;1500:25:1;;;1488:2;1473:18;10172:41:0;;;;;;;7842:2379;7773:2448;;;:::o;1585:190::-;1671:7;1707:12;1699:6;;;;1691:29;;;;-1:-1:-1;;;1691:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1731:9:0;1743:5;1747:1;1743;:5;:::i;:::-;1731:17;1585:190;-1:-1:-1;;;;;1585:190:0:o;10994:92::-;11051:10;;:27;;-1:-1:-1;;;;;11051:10:0;;;;:27;;;;;11071:6;;11051:10;:27;:10;:27;11071:6;11051:10;:27;;;;;;;;;;;;;;;;;;;10337:483;5390:6;:13;;-1:-1:-1;;;;5390:13:0;-1:-1:-1;;;5390:13:0;;;10439:16:::1;::::0;;10453:1:::1;10439:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10439:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10439:16:0::1;10415:40;;10484:4;10466;10471:1;10466:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10466:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10510:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10510:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10466:7;;10510:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10500:4;10505:1;10500:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10500:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10575:15:::1;::::0;10543:62:::1;::::0;10560:4:::1;::::0;10575:15:::1;10593:11:::0;10543:8:::1;:62::i;:::-;10616:15;::::0;:196:::1;::::0;-1:-1:-1;;;10616:196:0;;-1:-1:-1;;;;;10616:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10697:11;;10616:15:::1;::::0;10739:4;;10766::::1;::::0;10786:15:::1;::::0;10616:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5426:6:0;:14;;-1:-1:-1;;;;5426:14:0;;;-1:-1:-1;;;;10337:483:0:o;1783:246::-;1841:7;1865:1;1870;1865:6;1861:47;;-1:-1:-1;1895:1:0;1888:8;;1861:47;1918:9;1930:5;1934:1;1930;:5;:::i;:::-;1918:17;-1:-1:-1;1963:1:0;1954:5;1958:1;1918:17;1954:5;:::i;:::-;:10;1946:56;;;;-1:-1:-1;;;1946:56:0;;12904:2:1;1946: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;;1946:56:0;12702:397:1;1946:56:0;2020:1;1783:246;-1:-1:-1;;;1783:246:0:o;2037:132::-;2095:7;2122:39;2126:1;2129;2122:39;;;;;;;;;;;;;;;;;:3;:39::i;10231:98::-;10288:7;10315:1;10313;:3;10312:9;;10320:1;10312:9;;;-1:-1:-1;10318:1:0;10231:98;-1:-1:-1;10231:98:0:o;1254:179::-;1312:7;;1344:5;1348:1;1344;:5;:::i;:::-;1332:17;;1373:1;1368;:6;;1360:46;;;;-1:-1:-1;;;1360:46:0;;13306:2:1;1360:46:0;;;13288:21:1;13345:2;13325:18;;;13318:30;13384:29;13364:18;;;13357:57;13431:18;;1360:46:0;13104:351:1;1441:136:0;1499:7;1526:43;1530:1;1533;1526:43;;;;;;;;;;;;;;;;;:3;:43::i;2177:189::-;2263:7;2298:12;2291:5;2283:28;;;;-1:-1:-1;;;2283:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2322:9:0;2334:5;2338:1;2334;: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://c8e6824ae944d35f0f1b6ea4e79f43302d682ee90847a4deb2e120832dfba092

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.