ETH Price: $3,263.36 (-0.58%)
 

Overview

ETH Balance

0.2 ETH

Eth Value

$652.67 (@ $3,263.36/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214611212024-12-22 22:49:2317 days ago1734907763IN
0x95889048...918Cd0393
0 ETH0.000249865.39790158
Transfer213504452024-12-07 11:54:1133 days ago1733572451IN
0x95889048...918Cd0393
0 ETH0.0009303313.03996414
Approve213481962024-12-07 4:21:2333 days ago1733545283IN
0x95889048...918Cd0393
0 ETH0.0006187513.30160124
Transfer212186052024-11-19 1:51:3551 days ago1731981095IN
0x95889048...918Cd0393
0 ETH0.0007214910.10770795
Approve212157452024-11-18 16:17:5952 days ago1731946679IN
0x95889048...918Cd0393
0 ETH0.0011950725.85120573
Transfer211980162024-11-16 4:58:3554 days ago1731733115IN
0x95889048...918Cd0393
0 ETH0.0014849420.81363257
Approve211872542024-11-14 16:53:5956 days ago1731603239IN
0x95889048...918Cd0393
0 ETH0.0014261830.62773574
Approve210883572024-10-31 21:37:2369 days ago1730410643IN
0x95889048...918Cd0393
0 ETH0.000379528.15891361
Approve210831872024-10-31 4:19:2370 days ago1730348363IN
0x95889048...918Cd0393
0 ETH0.000427429.18866339
Approve210508612024-10-26 16:02:4775 days ago1729958567IN
0x95889048...918Cd0393
0 ETH0.0004878210.48702351
Approve210341292024-10-24 8:01:4777 days ago1729756907IN
0x95889048...918Cd0393
0 ETH0.0005045310.84624699
Approve210329142024-10-24 3:57:2377 days ago1729742243IN
0x95889048...918Cd0393
0 ETH0.000400548.59967142
Approve210296662024-10-23 17:04:5978 days ago1729703099IN
0x95889048...918Cd0393
0 ETH0.0016056234.51697003
Approve210263402024-10-23 5:57:3578 days ago1729663055IN
0x95889048...918Cd0393
0 ETH0.000329767.08909797
Approve210229552024-10-22 18:36:5979 days ago1729622219IN
0x95889048...918Cd0393
0 ETH0.0004838210.46589867
Approve210229082024-10-22 18:27:3579 days ago1729621655IN
0x95889048...918Cd0393
0 ETH0.000460839.89403737
Approve210227702024-10-22 17:59:5979 days ago1729619999IN
0x95889048...918Cd0393
0 ETH0.0005744512.33344395
Approve210138772024-10-21 12:13:1180 days ago1729512791IN
0x95889048...918Cd0393
0 ETH0.000355117.62828772
Approve210119442024-10-21 5:44:4780 days ago1729489487IN
0x95889048...918Cd0393
0 ETH0.000361367.76843089
Approve210089722024-10-20 19:46:4780 days ago1729453607IN
0x95889048...918Cd0393
0 ETH0.000436499.37149244
Approve210082302024-10-20 17:18:1181 days ago1729444691IN
0x95889048...918Cd0393
0 ETH0.0006024513.01513024
Approve210078792024-10-20 16:06:4781 days ago1729440407IN
0x95889048...918Cd0393
0 ETH0.0006777114.64103874
Approve210078412024-10-20 15:59:1181 days ago1729439951IN
0x95889048...918Cd0393
0 ETH0.0003179610.8931841
Approve210075402024-10-20 14:58:5981 days ago1729436339IN
0x95889048...918Cd0393
0 ETH0.0007106115.27655932
Approve210066302024-10-20 11:55:4781 days ago1729425347IN
0x95889048...918Cd0393
0 ETH0.000418058.97560178
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
209938102024-10-18 17:02:1183 days ago1729270931
0x95889048...918Cd0393
0.31318507 ETH
209938102024-10-18 17:02:1183 days ago1729270931
0x95889048...918Cd0393
0.31318507 ETH
209938062024-10-18 17:01:2383 days ago1729270883
0x95889048...918Cd0393
0.08644237 ETH
209938062024-10-18 17:01:2383 days ago1729270883
0x95889048...918Cd0393
0.08644237 ETH
209938062024-10-18 17:01:2383 days ago1729270883
0x95889048...918Cd0393
0.27021057 ETH
209938062024-10-18 17:01:2383 days ago1729270883
0x95889048...918Cd0393
0.27021057 ETH
209938052024-10-18 17:01:1183 days ago1729270871
0x95889048...918Cd0393
0.19714752 ETH
209938052024-10-18 17:01:1183 days ago1729270871
0x95889048...918Cd0393
0.19714752 ETH
209938042024-10-18 17:00:5983 days ago1729270859
0x95889048...918Cd0393
0.30681697 ETH
209938042024-10-18 17:00:5983 days ago1729270859
0x95889048...918Cd0393
0.30681697 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.06533137 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.06533137 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.1233362 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.1233362 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.43376781 ETH
209938032024-10-18 17:00:4783 days ago1729270847
0x95889048...918Cd0393
0.43376781 ETH
209937992024-10-18 16:59:5983 days ago1729270799
0x95889048...918Cd0393
0.05957978 ETH
209937992024-10-18 16:59:5983 days ago1729270799
0x95889048...918Cd0393
0.05957978 ETH
209937982024-10-18 16:59:4783 days ago1729270787
0x95889048...918Cd0393
0.09843958 ETH
209937982024-10-18 16:59:4783 days ago1729270787
0x95889048...918Cd0393
0.09843958 ETH
209937972024-10-18 16:59:3583 days ago1729270775
0x95889048...918Cd0393
0.14235237 ETH
209937972024-10-18 16:59:3583 days ago1729270775
0x95889048...918Cd0393
0.14235237 ETH
209937972024-10-18 16:59:3583 days ago1729270775
0x95889048...918Cd0393
0.05937051 ETH
209937972024-10-18 16:59:3583 days ago1729270775
0x95889048...918Cd0393
0.05937051 ETH
209937942024-10-18 16:58:5983 days ago1729270739
0x95889048...918Cd0393
0.11527962 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IZUMI

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
$IZUMI - Neiro's First Name (OG NEIRO)

Izumi’s story is one of resilience and new beginnings. Rescued by an animal shelter and named for a fresh start, she found love with Riko Wako Mama before her journey led to Kabosu Mama, who saw her true potential. Renamed Neiro, she became the heir to the Doge name. Her rise to greatness began with the name Izumi.

Website: https://izumierc.com
Telegram: https://t.me/Izumioneth
Twitter: https://x.com/Izumioneth
Medium : https://medium.com/@izumioneth
*/

pragma solidity 0.8.23;

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

interface IToken {
    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 MathLib {
    function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "MathLib: addition overflow");
        return c;
    }

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

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

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

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

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

contract OwnerControl is Context {
    address private contractOwner;
    event OwnershipChanged(address indexed previousOwner, address indexed newOwner);

    constructor() {
        address msgSender = _msgSender();
        contractOwner = msgSender;
        emit OwnershipChanged(address(0), msgSender);
    }

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

    modifier onlyContractOwner() {
        require(contractOwner == _msgSender(), "OwnerControl: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyContractOwner {
        emit OwnershipChanged(contractOwner, address(0));
        contractOwner = address(0);
        remove_Max_Limits();
    }

    function remove_Max_Limits() internal virtual {}

    function changeOwnership(address newOwner) public virtual onlyContractOwner {
        require(newOwner != address(0), "OwnerControl: new owner is the zero address");
        emit OwnershipChanged(contractOwner, newOwner);
        contractOwner = newOwner;
    }
}

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

interface IUniswapRouter {
    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 IZUMI is Context, IToken, OwnerControl {
    using MathLib for uint256;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private allowances;
    mapping (address => bool) private exAddrs;
    mapping (uint256 => uint256) private buyTxns_Count; 
    address payable private fee_Wallet_Addr;


    struct Fees {
        uint256 iBFee;
        uint256 iSFee;
        uint256 eBFee;
        uint256 eSFee;
    }

    struct Threshold {
        uint256 thresBFee;
        uint256 thresSFee;
        uint256 swapThresL;
    }
    
    uint256 private initialBlock = 0; uint256 private total_Buys_Count = 0; 
    uint256 private total_Sells_Count = 0; uint256 private lastSellBlock = 0;


    uint8 private constant DECIMALS = 9;
    uint256 private constant TOTAL_SUPPLY = 420690000000 * 10 ** DECIMALS;
    string private constant NAME = unicode"Izumi";
    string private constant SYMBOL = unicode"IZUMI";
    
    uint256 public maxTransactionAmount = 4206900000 * 10 ** DECIMALS;
    uint256 public maxWalletSize = 4206900000 * 10 ** DECIMALS;
    uint256 public swapFeeThreshold = 4200000000 * 10 ** DECIMALS;
    uint256 public feeSwapLimit = 4206900000 * 10 ** DECIMALS;

    IUniswapRouter private uniswapRouter;
    address public uniswapPair;
    bool private isTradingOpen;
    uint256 public maxCaNum = 3;
    bool private isSwapping = false;
    bool private swapEnabled = false;
    bool public swapCaNum = true;

    event MaxTransactionAmountUpdated(uint256 maxTransactionAmount);
    
    modifier swapLock {
        isSwapping = true;
        _;
        isSwapping = false;
    }

    constructor() {
        fee_Wallet_Addr = payable(0x53b9183AA2eb36865c8F1E06F805D7DfDED31a92);
        balances[_msgSender()] = TOTAL_SUPPLY;
        exAddrs[owner()] = true;
        exAddrs[address(this)] = true;
        exAddrs[address(uniswapPair)] = true;
        
        emit Transfer(address(0), _msgSender(), TOTAL_SUPPLY);
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(_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) {
        _setApproval(_msgSender(), spender, amount);
        return true;
    }

    Fees private feeInfo = Fees(20, 20, 0, 0);
    Threshold private thresInfo = Threshold(30, 30, 30);

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(sender, recipient, amount);
        _setApproval(sender, _msgSender(), allowances[sender][_msgSender()].safeSub(amount, "transfer exceeds allowance"));
        return true;
    }

    function _setApproval(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "approve from zero address");
        require(spender != address(0), "approve to zero address");
        allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _executeTransfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer from zero address");
        require(to != address(0), "transfer to zero address");
        require(amount > 0, "transfer amount must be greater than zero");
        
        uint256 feeAmount = 0;

        if (from != owner() && to != owner()) {
            feeAmount = amount.safeMul((total_Buys_Count > thresInfo.thresBFee) ? feeInfo.eBFee : feeInfo.iBFee).safeDiv(100);

            if (block.number == initialBlock) {
                require(buyTxns_Count[block.number] < 40, "exceeds buy limit for initial block.");
                buyTxns_Count[block.number]++;
            }

            if (from == uniswapPair && to != address(uniswapRouter) && !exAddrs[to]) {
                require(amount <= maxTransactionAmount, "exceeds max transaction amount.");
                require(balanceOf(to) + amount <= maxWalletSize, "exceeds max wallet size.");
                total_Buys_Count++;
            }

            if (to != uniswapPair && !exAddrs[to]) {
                require(balanceOf(to) + amount <= maxWalletSize, "exceeds max wallet size.");
            }

            if (to == uniswapPair && from != address(this)) {
                feeAmount = amount.safeMul((total_Buys_Count > thresInfo.thresSFee) ? feeInfo.eSFee : feeInfo.iSFee).safeDiv(100);
            }

            if (from != uniswapPair && to != uniswapPair && from != address(this)) {
                feeAmount = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (swapCaNum && !isSwapping && to == uniswapPair && swapEnabled && contractTokenBalance > swapFeeThreshold && total_Buys_Count > thresInfo.swapThresL) {
                if (block.number > lastSellBlock) {
                    total_Sells_Count = 0;
                }
                require(total_Sells_Count < maxCaNum, "CA balance sell limit reached");
                _swapTokensForEth(min(amount, min(contractTokenBalance, feeSwapLimit)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                total_Sells_Count++;
                lastSellBlock = block.number;
            } else if (!isSwapping && to == uniswapPair && swapEnabled && contractTokenBalance > swapFeeThreshold && total_Buys_Count > thresInfo.swapThresL) {
                _swapTokensForEth(min(amount, min(contractTokenBalance, feeSwapLimit)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (feeAmount > 0) {
            balances[address(this)] = balances[address(this)].safeAdd(feeAmount);
            emit Transfer(from, address(this), feeAmount);
        }
        balances[from] = balances[from].safeSub(amount);
        balances[to] = balances[to].safeAdd(amount.safeSub(feeAmount));
        emit Transfer(from, to, amount.safeSub(feeAmount));
    }

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

    function _swapTokensForEth(uint256 tokenAmount) private swapLock {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();
        _setApproval(address(this), address(uniswapRouter), tokenAmount);
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

    function configThresLimit(bool swapStatus, uint256 swapAmount, bool caStatus, uint256 caAmount) external onlyContractOwner {
        swapEnabled = swapStatus;
        feeSwapLimit = swapAmount;
        swapCaNum = caStatus;
        maxCaNum = caAmount;
    }

    function rescue_StuckETH() external onlyContractOwner {
        payable(fee_Wallet_Addr).transfer(address(this).balance);
    }

    function rescue_Any_ERC20Tokens(address tokenAddr, uint amount) external onlyContractOwner {
        IToken(tokenAddr).transfer(fee_Wallet_Addr, amount);
    }

    function remove_Max_Limits() internal override {
        maxTransactionAmount = TOTAL_SUPPLY;
        maxWalletSize = TOTAL_SUPPLY;
        emit MaxTransactionAmountUpdated(TOTAL_SUPPLY);
    }

    function enableTrading() external onlyContractOwner() {
        require(!isTradingOpen, "trading is already open");
        uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _setApproval(address(this), address(uniswapRouter), TOTAL_SUPPLY);
        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(address(this), uniswapRouter.WETH());
        exAddrs[address(uniswapPair)] = true;
        uniswapRouter.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IToken(uniswapPair).approve(address(uniswapRouter), type(uint).max);
        swapEnabled = true;
        isTradingOpen = true;
        initialBlock = 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":"maxTransactionAmount","type":"uint256"}],"name":"MaxTransactionAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipChanged","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":[{"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"swapStatus","type":"bool"},{"internalType":"uint256","name":"swapAmount","type":"uint256"},{"internalType":"bool","name":"caStatus","type":"bool"},{"internalType":"uint256","name":"caAmount","type":"uint256"}],"name":"configThresLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxCaNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescue_Any_ERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescue_StuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapCaNum","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapFeeThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f6006555f6007555f6008555f6009556009600a62000024919062000399565b620000349063fac03320620003b0565b600a556009600a62000047919062000399565b620000579063fac03320620003b0565b600b55620000686009600a62000399565b620000789063fa56ea00620003b0565b600c55620000896009600a62000399565b620000999063fac03320620003b0565b600d5560036010556011805462ffffff19166201000017905560408051608081018252601480825260208083018290525f8385018190526060938401819052601283905560138390559182905560159190915582519182018352601e8083529082018190529101819052601681905560178190556018553480156200011c575f80fd5b505f80546001600160a01b031916339081178255604051909182917f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b908290a350600580546001600160a01b0319167353b9183aa2eb36865c8f1e06f805d7dfded31a92179055620001916009600a62000399565b620001a2906461f313f880620003b0565b335f908152600160208190526040822092909255600390620001cb5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600f54909116835291208054909216179055620002293390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002626009600a62000399565b62000273906461f313f880620003b0565b60405190815260200160405180910390a3620003ca565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002de57815f1904821115620002c257620002c26200028a565b80851615620002d057918102915b93841c9390800290620002a3565b509250929050565b5f82620002f65750600162000393565b816200030457505f62000393565b81600181146200031d5760028114620003285762000348565b600191505062000393565b60ff8411156200033c576200033c6200028a565b50506001821b62000393565b5060208310610133831016604e8410600b84101617156200036d575081810a62000393565b6200037983836200029e565b805f19048211156200038f576200038f6200028a565b0290505b92915050565b5f620003a960ff841683620002e6565b9392505050565b80820281158282048414176200039357620003936200028a565b611c8580620003d85f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461038a578063c816841b146103a9578063c8c8ebe4146103c8578063d5b3173e146103dd578063dd62ed3e146103f2578063fcb4082d14610436575f80fd5b8063715018a6146102d15780638a8c523c146102e55780638da5cb5b146102f95780638f3fa8601461032957806395d89b411461033e578063a5de50f91461036b575f80fd5b806323b872dd1161010457806323b872dd1461020e578063288db6831461022d5780632af4c31e14610242578063313ce5671461026357806345220c091461027e57806370a082311461029d575f80fd5b806306fdde031461014a578063095ea7b31461018957806318160ddd146101b85780631a4dcd85146101da5780631e15007f146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526005815264497a756d6960d81b60208201525b6040516101809190611842565b60405180910390f35b348015610194575f80fd5b506101a86101a33660046118a2565b61044a565b6040519015158152602001610180565b3480156101c3575f80fd5b506101cc610460565b604051908152602001610180565b3480156101e5575f80fd5b506011546101a89062010000900460ff1681565b348015610204575f80fd5b506101cc600c5481565b348015610219575f80fd5b506101a86102283660046118cc565b610481565b348015610238575f80fd5b506101cc600d5481565b34801561024d575f80fd5b5061026161025c36600461190a565b610526565b005b34801561026e575f80fd5b5060405160098152602001610180565b348015610289575f80fd5b506102616102983660046118a2565b61061b565b3480156102a8575f80fd5b506101cc6102b736600461190a565b6001600160a01b03165f9081526001602052604090205490565b3480156102dc575f80fd5b506102616106bd565b3480156102f0575f80fd5b50610261610736565b348015610304575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610180565b348015610334575f80fd5b506101cc600b5481565b348015610349575f80fd5b50604080518082019091526005815264495a554d4960d81b6020820152610173565b348015610376575f80fd5b50610261610385366004611932565b610b09565b348015610395575f80fd5b506101a86103a43660046118a2565b610b6b565b3480156103b4575f80fd5b50600f54610311906001600160a01b031681565b3480156103d3575f80fd5b506101cc600a5481565b3480156103e8575f80fd5b506101cc60105481565b3480156103fd575f80fd5b506101cc61040c366004611977565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610441575f80fd5b50610261610b77565b5f610456338484610bd9565b5060015b92915050565b5f61046d6009600a611aa2565b61047c906461f313f880611ab0565b905090565b5f61048d848484610ce5565b61051c8433610517856040518060400160405280601a81526020017f7472616e73666572206578636565647320616c6c6f77616e636500000000000081525060025f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f6104f73390565b6001600160a01b0316815260208101919091526040015f20549190611440565b610bd9565b5060019392505050565b5f546001600160a01b031633146105585760405162461bcd60e51b815260040161054f90611ac7565b60405180910390fd5b6001600160a01b0381166105c25760405162461bcd60e51b815260206004820152602b60248201527f4f776e6572436f6e74726f6c3a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b606482015260840161054f565b5f80546040516001600160a01b03808516939216917f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b91a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106445760405162461bcd60e51b815260040161054f90611ac7565b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b89190611b0c565b505050565b5f546001600160a01b031633146106e65760405162461bcd60e51b815260040161054f90611ac7565b5f80546040516001600160a01b03909116907f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b908390a35f80546001600160a01b0319169055610734611478565b565b5f546001600160a01b0316331461075f5760405162461bcd60e51b815260040161054f90611ac7565b600f54600160a01b900460ff16156107b95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161054f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108039030906107f46009600a611aa2565b610517906461f313f880611ab0565b600e5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108779190611b27565b6001600160a01b031663c9c6539630600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fa9190611b27565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109689190611b27565b600f80546001600160a01b039283166001600160a01b031990911681179091555f908152600360205260409020805460ff19166001179055600e541663f305d71947306109c9816001600160a01b03165f9081526001602052604090205490565b5f806109dc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a42573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a679190611b42565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae09190611b0c565b506011805461ff001916610100179055600f805460ff60a01b1916600160a01b17905543600655565b5f546001600160a01b03163314610b325760405162461bcd60e51b815260040161054f90611ac7565b60118054600d9490945562ffff00199093166101009415159490940262ff00001916939093176201000091151591909102179055601055565b5f610456338484610ce5565b5f546001600160a01b03163314610ba05760405162461bcd60e51b815260040161054f90611ac7565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610bd6573d5f803e3d5ffd5b50565b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601960248201527f617070726f76652066726f6d207a65726f206164647265737300000000000000604482015260640161054f565b6001600160a01b038216610c855760405162461bcd60e51b815260206004820152601760248201527f617070726f766520746f207a65726f2061646472657373000000000000000000604482015260640161054f565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3b5760405162461bcd60e51b815260206004820152601a60248201527f7472616e736665722066726f6d207a65726f2061646472657373000000000000604482015260640161054f565b6001600160a01b038216610d915760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f207a65726f20616464726573730000000000000000604482015260640161054f565b5f8111610df25760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161054f565b5f80546001600160a01b03858116911614801590610e1d57505f546001600160a01b03848116911614155b1561130357610e506064610e4a60165f015460075411610e3f57601254610e43565b6014545b8590611505565b90611580565b90506006544303610ee557435f90815260046020526040902054602811610ec55760405162461bcd60e51b8152602060048201526024808201527f6578636565647320627579206c696d697420666f7220696e697469616c20626c60448201526337b1b59760e11b606482015260840161054f565b435f908152600460205260408120805491610edf83611b6d565b91905055505b600f546001600160a01b038581169116148015610f105750600e546001600160a01b03848116911614155b8015610f3457506001600160a01b0383165f9081526003602052604090205460ff16155b1561101557600a54821115610f8b5760405162461bcd60e51b815260206004820152601f60248201527f65786365656473206d6178207472616e73616374696f6e20616d6f756e742e00604482015260640161054f565b600b5482610fad856001600160a01b03165f9081526001602052604090205490565b610fb79190611b85565b11156110005760405162461bcd60e51b815260206004820152601860248201527732bc31b2b2b2399036b0bc103bb0b63632ba1039b4bd329760411b604482015260640161054f565b60078054905f61100f83611b6d565b91905055505b600f546001600160a01b0384811691161480159061104b57506001600160a01b0383165f9081526003602052604090205460ff16155b156110c557600b5482611072856001600160a01b03165f9081526001602052604090205490565b61107c9190611b85565b11156110c55760405162461bcd60e51b815260206004820152601860248201527732bc31b2b2b2399036b0bc103bb0b63632ba1039b4bd329760411b604482015260640161054f565b600f546001600160a01b0384811691161480156110eb57506001600160a01b0384163014155b1561111b576111186064610e4a6016600101546007541161110e57601354610e43565b6015548590611505565b90505b600f546001600160a01b038581169116148015906111475750600f546001600160a01b03848116911614155b801561115c57506001600160a01b0384163014155b1561116457505f5b305f9081526001602052604090205460115462010000900460ff16801561118e575060115460ff16155b80156111a75750600f546001600160a01b038581169116145b80156111ba5750601154610100900460ff165b80156111c75750600c5481115b80156111d65750601854600754115b15611288576009544311156111ea575f6008555b6010546008541061123d5760405162461bcd60e51b815260206004820152601d60248201527f43412062616c616e63652073656c6c206c696d69742072656163686564000000604482015260640161054f565b61125a6112558461125084600d546115c1565b6115c1565b6115d5565b47801561126a5761126a4761173c565b60088054905f61127983611b6d565b90915550504360095550611301565b60115460ff161580156112a85750600f546001600160a01b038581169116145b80156112bb5750601154610100900460ff165b80156112c85750600c5481115b80156112d75750601854600754115b15611301576112ef6112558461125084600d546115c1565b4780156112ff576112ff4761173c565b505b505b801561137b57305f908152600160205260409020546113229082611777565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113729085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461139d90836117d5565b6001600160a01b0385165f908152600160205260409020556113e06113c283836117d5565b6001600160a01b0385165f9081526001602052604090205490611777565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61142985856117d5565b60405190815260200160405180910390a350505050565b5f81848411156114635760405162461bcd60e51b815260040161054f9190611842565b505f61146f8486611b98565b95945050505050565b6114846009600a611aa2565b611493906461f313f880611ab0565b600a9081556114a490600990611aa2565b6114b3906461f313f880611ab0565b600b557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6114e36009600a611aa2565b6114f2906461f313f880611ab0565b60405190815260200160405180910390a1565b5f825f0361151457505f61045a565b5f61151f8385611ab0565b90508261152c8583611bab565b146115795760405162461bcd60e51b815260206004820181905260248201527f4d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77604482015260640161054f565b9392505050565b5f61157983836040518060400160405280601981526020017f4d6174684c69623a206469766973696f6e206279207a65726f00000000000000815250611816565b5f8183116115cf5782611579565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161557611615611bca565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190611b27565b816001815181106116a3576116a3611bca565b6001600160a01b039283166020918202929092010152600e546116c99130911684610bd9565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906117019085905f90869030904290600401611bde565b5f604051808303815f87803b158015611718575f80fd5b505af115801561172a573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611773573d5f803e3d5ffd5b5050565b5f806117838385611b85565b9050838110156115795760405162461bcd60e51b815260206004820152601a60248201527f4d6174684c69623a206164646974696f6e206f766572666c6f77000000000000604482015260640161054f565b5f61157983836040518060400160405280601d81526020017f4d6174684c69623a207375627472616374696f6e206f766572666c6f77000000815250611440565b5f81836118365760405162461bcd60e51b815260040161054f9190611842565b505f61146f8486611bab565b5f602080835283518060208501525f5b8181101561186e57858101830151858201604001528201611852565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd6575f80fd5b5f80604083850312156118b3575f80fd5b82356118be8161188e565b946020939093013593505050565b5f805f606084860312156118de575f80fd5b83356118e98161188e565b925060208401356118f98161188e565b929592945050506040919091013590565b5f6020828403121561191a575f80fd5b81356115798161188e565b8015158114610bd6575f80fd5b5f805f8060808587031215611945575f80fd5b843561195081611925565b935060208501359250604085013561196781611925565b9396929550929360600135925050565b5f8060408385031215611988575f80fd5b82356119938161188e565b915060208301356119a38161188e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119fc57815f19048211156119e2576119e26119ae565b808516156119ef57918102915b93841c93908002906119c7565b509250929050565b5f82611a125750600161045a565b81611a1e57505f61045a565b8160018114611a345760028114611a3e57611a5a565b600191505061045a565b60ff841115611a4f57611a4f6119ae565b50506001821b61045a565b5060208310610133831016604e8410600b8410161715611a7d575081810a61045a565b611a8783836119c2565b805f1904821115611a9a57611a9a6119ae565b029392505050565b5f61157960ff841683611a04565b808202811582820484141761045a5761045a6119ae565b60208082526025908201527f4f776e6572436f6e74726f6c3a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b5f60208284031215611b1c575f80fd5b815161157981611925565b5f60208284031215611b37575f80fd5b81516115798161188e565b5f805f60608486031215611b54575f80fd5b8351925060208401519150604084015190509250925092565b5f60018201611b7e57611b7e6119ae565b5060010190565b8082018082111561045a5761045a6119ae565b8181038181111561045a5761045a6119ae565b5f82611bc557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c2e5784516001600160a01b031683529383019391830191600101611c09565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122080e9f2367262082823c3492c2729d700d1f386f4da5691ce2c5a1c17a2c1888664736f6c63430008170033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461038a578063c816841b146103a9578063c8c8ebe4146103c8578063d5b3173e146103dd578063dd62ed3e146103f2578063fcb4082d14610436575f80fd5b8063715018a6146102d15780638a8c523c146102e55780638da5cb5b146102f95780638f3fa8601461032957806395d89b411461033e578063a5de50f91461036b575f80fd5b806323b872dd1161010457806323b872dd1461020e578063288db6831461022d5780632af4c31e14610242578063313ce5671461026357806345220c091461027e57806370a082311461029d575f80fd5b806306fdde031461014a578063095ea7b31461018957806318160ddd146101b85780631a4dcd85146101da5780631e15007f146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526005815264497a756d6960d81b60208201525b6040516101809190611842565b60405180910390f35b348015610194575f80fd5b506101a86101a33660046118a2565b61044a565b6040519015158152602001610180565b3480156101c3575f80fd5b506101cc610460565b604051908152602001610180565b3480156101e5575f80fd5b506011546101a89062010000900460ff1681565b348015610204575f80fd5b506101cc600c5481565b348015610219575f80fd5b506101a86102283660046118cc565b610481565b348015610238575f80fd5b506101cc600d5481565b34801561024d575f80fd5b5061026161025c36600461190a565b610526565b005b34801561026e575f80fd5b5060405160098152602001610180565b348015610289575f80fd5b506102616102983660046118a2565b61061b565b3480156102a8575f80fd5b506101cc6102b736600461190a565b6001600160a01b03165f9081526001602052604090205490565b3480156102dc575f80fd5b506102616106bd565b3480156102f0575f80fd5b50610261610736565b348015610304575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610180565b348015610334575f80fd5b506101cc600b5481565b348015610349575f80fd5b50604080518082019091526005815264495a554d4960d81b6020820152610173565b348015610376575f80fd5b50610261610385366004611932565b610b09565b348015610395575f80fd5b506101a86103a43660046118a2565b610b6b565b3480156103b4575f80fd5b50600f54610311906001600160a01b031681565b3480156103d3575f80fd5b506101cc600a5481565b3480156103e8575f80fd5b506101cc60105481565b3480156103fd575f80fd5b506101cc61040c366004611977565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610441575f80fd5b50610261610b77565b5f610456338484610bd9565b5060015b92915050565b5f61046d6009600a611aa2565b61047c906461f313f880611ab0565b905090565b5f61048d848484610ce5565b61051c8433610517856040518060400160405280601a81526020017f7472616e73666572206578636565647320616c6c6f77616e636500000000000081525060025f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f6104f73390565b6001600160a01b0316815260208101919091526040015f20549190611440565b610bd9565b5060019392505050565b5f546001600160a01b031633146105585760405162461bcd60e51b815260040161054f90611ac7565b60405180910390fd5b6001600160a01b0381166105c25760405162461bcd60e51b815260206004820152602b60248201527f4f776e6572436f6e74726f6c3a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b606482015260840161054f565b5f80546040516001600160a01b03808516939216917f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b91a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106445760405162461bcd60e51b815260040161054f90611ac7565b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b89190611b0c565b505050565b5f546001600160a01b031633146106e65760405162461bcd60e51b815260040161054f90611ac7565b5f80546040516001600160a01b03909116907f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b908390a35f80546001600160a01b0319169055610734611478565b565b5f546001600160a01b0316331461075f5760405162461bcd60e51b815260040161054f90611ac7565b600f54600160a01b900460ff16156107b95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161054f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108039030906107f46009600a611aa2565b610517906461f313f880611ab0565b600e5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108779190611b27565b6001600160a01b031663c9c6539630600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fa9190611b27565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109689190611b27565b600f80546001600160a01b039283166001600160a01b031990911681179091555f908152600360205260409020805460ff19166001179055600e541663f305d71947306109c9816001600160a01b03165f9081526001602052604090205490565b5f806109dc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a42573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a679190611b42565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae09190611b0c565b506011805461ff001916610100179055600f805460ff60a01b1916600160a01b17905543600655565b5f546001600160a01b03163314610b325760405162461bcd60e51b815260040161054f90611ac7565b60118054600d9490945562ffff00199093166101009415159490940262ff00001916939093176201000091151591909102179055601055565b5f610456338484610ce5565b5f546001600160a01b03163314610ba05760405162461bcd60e51b815260040161054f90611ac7565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610bd6573d5f803e3d5ffd5b50565b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601960248201527f617070726f76652066726f6d207a65726f206164647265737300000000000000604482015260640161054f565b6001600160a01b038216610c855760405162461bcd60e51b815260206004820152601760248201527f617070726f766520746f207a65726f2061646472657373000000000000000000604482015260640161054f565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3b5760405162461bcd60e51b815260206004820152601a60248201527f7472616e736665722066726f6d207a65726f2061646472657373000000000000604482015260640161054f565b6001600160a01b038216610d915760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f207a65726f20616464726573730000000000000000604482015260640161054f565b5f8111610df25760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161054f565b5f80546001600160a01b03858116911614801590610e1d57505f546001600160a01b03848116911614155b1561130357610e506064610e4a60165f015460075411610e3f57601254610e43565b6014545b8590611505565b90611580565b90506006544303610ee557435f90815260046020526040902054602811610ec55760405162461bcd60e51b8152602060048201526024808201527f6578636565647320627579206c696d697420666f7220696e697469616c20626c60448201526337b1b59760e11b606482015260840161054f565b435f908152600460205260408120805491610edf83611b6d565b91905055505b600f546001600160a01b038581169116148015610f105750600e546001600160a01b03848116911614155b8015610f3457506001600160a01b0383165f9081526003602052604090205460ff16155b1561101557600a54821115610f8b5760405162461bcd60e51b815260206004820152601f60248201527f65786365656473206d6178207472616e73616374696f6e20616d6f756e742e00604482015260640161054f565b600b5482610fad856001600160a01b03165f9081526001602052604090205490565b610fb79190611b85565b11156110005760405162461bcd60e51b815260206004820152601860248201527732bc31b2b2b2399036b0bc103bb0b63632ba1039b4bd329760411b604482015260640161054f565b60078054905f61100f83611b6d565b91905055505b600f546001600160a01b0384811691161480159061104b57506001600160a01b0383165f9081526003602052604090205460ff16155b156110c557600b5482611072856001600160a01b03165f9081526001602052604090205490565b61107c9190611b85565b11156110c55760405162461bcd60e51b815260206004820152601860248201527732bc31b2b2b2399036b0bc103bb0b63632ba1039b4bd329760411b604482015260640161054f565b600f546001600160a01b0384811691161480156110eb57506001600160a01b0384163014155b1561111b576111186064610e4a6016600101546007541161110e57601354610e43565b6015548590611505565b90505b600f546001600160a01b038581169116148015906111475750600f546001600160a01b03848116911614155b801561115c57506001600160a01b0384163014155b1561116457505f5b305f9081526001602052604090205460115462010000900460ff16801561118e575060115460ff16155b80156111a75750600f546001600160a01b038581169116145b80156111ba5750601154610100900460ff165b80156111c75750600c5481115b80156111d65750601854600754115b15611288576009544311156111ea575f6008555b6010546008541061123d5760405162461bcd60e51b815260206004820152601d60248201527f43412062616c616e63652073656c6c206c696d69742072656163686564000000604482015260640161054f565b61125a6112558461125084600d546115c1565b6115c1565b6115d5565b47801561126a5761126a4761173c565b60088054905f61127983611b6d565b90915550504360095550611301565b60115460ff161580156112a85750600f546001600160a01b038581169116145b80156112bb5750601154610100900460ff165b80156112c85750600c5481115b80156112d75750601854600754115b15611301576112ef6112558461125084600d546115c1565b4780156112ff576112ff4761173c565b505b505b801561137b57305f908152600160205260409020546113229082611777565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113729085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461139d90836117d5565b6001600160a01b0385165f908152600160205260409020556113e06113c283836117d5565b6001600160a01b0385165f9081526001602052604090205490611777565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61142985856117d5565b60405190815260200160405180910390a350505050565b5f81848411156114635760405162461bcd60e51b815260040161054f9190611842565b505f61146f8486611b98565b95945050505050565b6114846009600a611aa2565b611493906461f313f880611ab0565b600a9081556114a490600990611aa2565b6114b3906461f313f880611ab0565b600b557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6114e36009600a611aa2565b6114f2906461f313f880611ab0565b60405190815260200160405180910390a1565b5f825f0361151457505f61045a565b5f61151f8385611ab0565b90508261152c8583611bab565b146115795760405162461bcd60e51b815260206004820181905260248201527f4d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77604482015260640161054f565b9392505050565b5f61157983836040518060400160405280601981526020017f4d6174684c69623a206469766973696f6e206279207a65726f00000000000000815250611816565b5f8183116115cf5782611579565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161557611615611bca565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190611b27565b816001815181106116a3576116a3611bca565b6001600160a01b039283166020918202929092010152600e546116c99130911684610bd9565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906117019085905f90869030904290600401611bde565b5f604051808303815f87803b158015611718575f80fd5b505af115801561172a573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611773573d5f803e3d5ffd5b5050565b5f806117838385611b85565b9050838110156115795760405162461bcd60e51b815260206004820152601a60248201527f4d6174684c69623a206164646974696f6e206f766572666c6f77000000000000604482015260640161054f565b5f61157983836040518060400160405280601d81526020017f4d6174684c69623a207375627472616374696f6e206f766572666c6f77000000815250611440565b5f81836118365760405162461bcd60e51b815260040161054f9190611842565b505f61146f8486611bab565b5f602080835283518060208501525f5b8181101561186e57858101830151858201604001528201611852565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd6575f80fd5b5f80604083850312156118b3575f80fd5b82356118be8161188e565b946020939093013593505050565b5f805f606084860312156118de575f80fd5b83356118e98161188e565b925060208401356118f98161188e565b929592945050506040919091013590565b5f6020828403121561191a575f80fd5b81356115798161188e565b8015158114610bd6575f80fd5b5f805f8060808587031215611945575f80fd5b843561195081611925565b935060208501359250604085013561196781611925565b9396929550929360600135925050565b5f8060408385031215611988575f80fd5b82356119938161188e565b915060208301356119a38161188e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119fc57815f19048211156119e2576119e26119ae565b808516156119ef57918102915b93841c93908002906119c7565b509250929050565b5f82611a125750600161045a565b81611a1e57505f61045a565b8160018114611a345760028114611a3e57611a5a565b600191505061045a565b60ff841115611a4f57611a4f6119ae565b50506001821b61045a565b5060208310610133831016604e8410600b8410161715611a7d575081810a61045a565b611a8783836119c2565b805f1904821115611a9a57611a9a6119ae565b029392505050565b5f61157960ff841683611a04565b808202811582820484141761045a5761045a6119ae565b60208082526025908201527f4f776e6572436f6e74726f6c3a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b5f60208284031215611b1c575f80fd5b815161157981611925565b5f60208284031215611b37575f80fd5b81516115798161188e565b5f805f60608486031215611b54575f80fd5b8351925060208401519150604084015190509250925092565b5f60018201611b7e57611b7e6119ae565b5060010190565b8082018082111561045a5761045a6119ae565b8181038181111561045a5761045a6119ae565b5f82611bc557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c2e5784516001600160a01b031683529383019391830191600101611c09565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122080e9f2367262082823c3492c2729d700d1f386f4da5691ce2c5a1c17a2c1888664736f6c63430008170033

Deployed Bytecode Sourcemap

4420:9359:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6493:82;;;;;;;;;;-1:-1:-1;6563:4:0;;;;;;;;;;;;-1:-1:-1;;;6563:4:0;;;;6493:82;;;;;;;:::i;:::-;;;;;;;;7333:165;;;;;;;;;;-1:-1:-1;7333:165:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7333:165:0;1023:187:1;6767:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6767:100:0;1215:177:1;5924:28:0;;;;;;;;;;-1:-1:-1;5924:28:0;;;;;;;;;;;5570:61;;;;;;;;;;;;;;;;7614:313;;;;;;;;;;-1:-1:-1;7614:313:0;;;;;:::i;:::-;;:::i;5638:57::-;;;;;;;;;;;;;;;;3392:265;;;;;;;;;;-1:-1:-1;3392:265:0;;;;;:::i;:::-;;:::i;:::-;;6677:82;;;;;;;;;;-1:-1:-1;6677:82:0;;5237:1;2252:36:1;;2240:2;2225:18;6677:82:0;2110:184:1;12602:161:0;;;;;;;;;;-1:-1:-1;12602:161:0;;;;;:::i;:::-;;:::i;6875:118::-;;;;;;;;;;-1:-1:-1;6875:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6968:17:0;6941:7;6968:17;;;:8;:17;;;;;;;6875:118;3132:196;;;;;;;;;;;;;:::i;12976:763::-;;;;;;;;;;;;;:::i;2891:86::-;;;;;;;;;;-1:-1:-1;2929:7:0;2956:13;-1:-1:-1;;;;;2956:13:0;2891:86;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2891:86:0;2299:203:1;5505:58:0;;;;;;;;;;;;;;;;6583:86;;;;;;;;;;-1:-1:-1;6655:6:0;;;;;;;;;;;;-1:-1:-1;;;6655:6:0;;;;6583:86;;12194:263;;;;;;;;;;-1:-1:-1;12194:263:0;;;;;:::i;:::-;;:::i;7001:174::-;;;;;;;;;;-1:-1:-1;7001:174:0;;;;;:::i;:::-;;:::i;5747:26::-;;;;;;;;;;-1:-1:-1;5747:26:0;;;;-1:-1:-1;;;;;5747:26:0;;;5433:65;;;;;;;;;;;;;;;;5813:27;;;;;;;;;;;;;;;;7183:142;;;;;;;;;;-1:-1:-1;7183:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;7291:17:0;;;7264:7;7291:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;7183:142;12465:129;;;;;;;;;;;;;:::i;7333:165::-;7408:4;7425:43;691:10;7452:7;7461:6;7425:12;:43::i;:::-;-1:-1:-1;7486:4:0;7333:165;;;;;:::o;6767:100::-;6820:7;5300:14;5237:1;5300:2;:14;:::i;:::-;5285:29;;:12;:29;:::i;:::-;6840:19;;6767:100;:::o;7614:313::-;7712:4;7729:43;7746:6;7754:9;7765:6;7729:16;:43::i;:::-;7783:114;7796:6;691:10;7818:78;7859:6;7818:78;;;;;;;;;;;;;;;;;:10;:18;7829:6;-1:-1:-1;;;;;7818:18:0;-1:-1:-1;;;;;7818:18:0;;;;;;;;;;;;:32;7837:12;691:10;;611:98;7837:12;-1:-1:-1;;;;;7818:32:0;;;;;;;;;;;;-1:-1:-1;7818:32:0;;;:78;:40;:78::i;:::-;7783:12;:114::i;:::-;-1:-1:-1;7915:4:0;7614:313;;;;;:::o;3392:265::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3487:22:0;::::1;3479:78;;;::::0;-1:-1:-1;;;3479:78:0;;5831:2:1;3479:78:0::1;::::0;::::1;5813:21:1::0;5870:2;5850:18;;;5843:30;5909:34;5889:18;;;5882:62;-1:-1:-1;;;5960:18:1;;;5953:41;6011:19;;3479:78:0::1;5629:407:1::0;3479:78:0::1;3590:13;::::0;;3573:41:::1;::::0;-1:-1:-1;;;;;3573:41:0;;::::1;::::0;3590:13;::::1;::::0;3573:41:::1;::::0;::::1;3625:13;:24:::0;;-1:-1:-1;;;;;;3625:24:0::1;-1:-1:-1::0;;;;;3625:24:0;;;::::1;::::0;;;::::1;::::0;;3392:265::o;12602:161::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;12731:15:::1;::::0;12704:51:::1;::::0;-1:-1:-1;;;12704:51:0;;-1:-1:-1;;;;;12731:15:0;;::::1;12704:51;::::0;::::1;6223::1::0;6290:18;;;6283:34;;;12704:26:0;;::::1;::::0;::::1;::::0;6196:18:1;;12704:51:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12602:161:::0;;:::o;3132:196::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;3250:1:::1;3227:13:::0;;3210:43:::1;::::0;-1:-1:-1;;;;;3227:13:0;;::::1;::::0;3210:43:::1;::::0;3250:1;;3210:43:::1;3288:1;3264:26:::0;;-1:-1:-1;;;;;;3264:26:0::1;::::0;;3301:19:::1;:17;:19::i;:::-;3132:196::o:0;12976:763::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;13050:13:::1;::::0;-1:-1:-1;;;13050:13:0;::::1;;;13049:14;13041:50;;;::::0;-1:-1:-1;;;13041:50:0;;6780:2:1;13041:50:0::1;::::0;::::1;6762:21:1::0;6819:2;6799:18;;;6792:30;6858:25;6838:18;;;6831:53;6901:18;;13041:50:0::1;6578:347:1::0;13041:50:0::1;13102:13;:74:::0;;-1:-1:-1;;;;;;13102:74:0::1;13133:42;13102:74:::0;;::::1;::::0;;;13187:65:::1;::::0;13208:4:::1;::::0;5300:14:::1;5237:1;5300:2;:14;:::i;:::-;5285:29;::::0;:12:::1;:29;:::i;13187:65::-;13293:13;;;;;;;;;-1:-1:-1::0;;;;;13293:13:0::1;-1:-1:-1::0;;;;;13293:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13277:51:0::1;;13337:4;13344:13;;;;;;;;;-1:-1:-1::0;;;;;13344:13:0::1;-1:-1:-1::0;;;;;13344:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13277:88;::::0;-1:-1:-1;;;;;;13277:88:0::1;::::0;;;;;;-1:-1:-1;;;;;7416:15:1;;;13277:88:0::1;::::0;::::1;7398:34:1::0;7468:15;;7448:18;;;7441:43;7333:18;;13277:88:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13263:11;:102:::0;;-1:-1:-1;;;;;13263:102:0;;::::1;-1:-1:-1::0;;;;;;13263:102:0;;::::1;::::0;::::1;::::0;;;:11:::1;13376:29:::0;;;:7:::1;:29;::::0;;;;:36;;-1:-1:-1;;13376:36:0::1;13263:102:::0;13376:36:::1;::::0;;13423:13:::1;::::0;::::1;:29;13460:21;13491:4;13498:24;13491:4:::0;-1:-1:-1;;;;;6968:17:0;6941:7;6968:17;;;:8;:17;;;;;;;6875:118;13498:24:::1;13524:1;13527::::0;13530:7:::1;2929::::0;2956:13;-1:-1:-1;;;;;2956:13:0;;2891:86;13530:7:::1;13423:132;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13423:132:0;;;-1:-1:-1;;;;;7854:15:1;;;13423:132:0::1;::::0;::::1;7836:34:1::0;7886:18;;;7879:34;;;;7929:18;;;7922:34;;;;7972:18;;;7965:34;8036:15;;;8015:19;;;8008:44;13539:15:0::1;8068:19:1::0;;;8061:35;7770:19;;13423:132:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13573:11:0::1;::::0;13602:13:::1;::::0;13566:67:::1;::::0;-1:-1:-1;;;13566:67:0;;-1:-1:-1;;;;;13602:13:0;;::::1;13566:67;::::0;::::1;6223:51:1::0;-1:-1:-1;;6290:18:1;;;6283:34;13573:11:0;::::1;::::0;-1:-1:-1;13566:27:0::1;::::0;6196:18:1;;13566:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13644:11:0::1;:18:::0;;-1:-1:-1;;13644:18:0::1;;;::::0;;13673:13:::1;:20:::0;;-1:-1:-1;;;;13673:20:0::1;-1:-1:-1::0;;;13673:20:0::1;::::0;;13719:12:::1;13704;:27:::0;12976:763::o;12194:263::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;12328:11:::1;:24:::0;;12363:12:::1;:25:::0;;;;-1:-1:-1;;12399:20:0;;;12328:24:::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;12399:20:0;;;;;;;::::1;;::::0;;;::::1;;::::0;;12430:8:::1;:19:::0;12194:263::o;7001:174::-;7079:4;7096:49;691:10;7127:9;7138:6;7096:16;:49::i;12465:129::-;3033:13;;-1:-1:-1;;;;;3033:13:0;691:10;3033:29;3025:79;;;;-1:-1:-1;;;3025:79:0;;;;;;;:::i;:::-;12538:15:::1;::::0;12530:56:::1;::::0;-1:-1:-1;;;;;12538:15:0;;::::1;::::0;12564:21:::1;12530:56:::0;::::1;;;::::0;12538:15:::1;12530:56:::0;12538:15;12530:56;12564:21;12538:15;12530:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12465:129::o:0;7935:316::-;-1:-1:-1;;;;;8032:19:0;;8024:57;;;;-1:-1:-1;;;8024:57:0;;8899:2:1;8024:57:0;;;8881:21:1;8938:2;8918:18;;;8911:30;8977:27;8957:18;;;8950:55;9022:18;;8024:57:0;8697:349:1;8024:57:0;-1:-1:-1;;;;;8100:21:0;;8092:57;;;;-1:-1:-1;;;8092:57:0;;9253:2:1;8092:57:0;;;9235:21:1;9292:2;9272:18;;;9265:30;9331:25;9311:18;;;9304:53;9374:18;;8092:57:0;9051:347:1;8092:57:0;-1:-1:-1;;;;;8160:17:0;;;;;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;:35;;;8211:32;;1361:25:1;;;8211:32:0;;1334:18:1;8211:32:0;;;;;;;7935:316;;;:::o;8259:3229::-;-1:-1:-1;;;;;8354:18:0;;8346:57;;;;-1:-1:-1;;;8346:57:0;;9605:2:1;8346:57:0;;;9587:21:1;9644:2;9624:18;;;9617:30;9683:28;9663:18;;;9656:56;9729:18;;8346:57:0;9403:350:1;8346:57:0;-1:-1:-1;;;;;8422:16:0;;8414:53;;;;-1:-1:-1;;;8414:53:0;;9960:2:1;8414:53:0;;;9942:21:1;9999:2;9979:18;;;9972:30;10038:26;10018:18;;;10011:54;10082:18;;8414:53:0;9758:348:1;8414:53:0;8495:1;8486:6;:10;8478:64;;;;-1:-1:-1;;;8478:64:0;;10313:2:1;8478:64:0;;;10295:21:1;10352:2;10332:18;;;10325:30;10391:34;10371:18;;;10364:62;-1:-1:-1;;;10442:18:1;;;10435:39;10491:19;;8478:64:0;10111:405:1;8478:64:0;8563:17;2956:13;;-1:-1:-1;;;;;8601:15:0;;;2956:13;;8601:15;;;;:32;;-1:-1:-1;2929:7:0;2956:13;-1:-1:-1;;;;;8620:13:0;;;2956;;8620;;8601:32;8597:2506;;;8662:101;8759:3;8662:88;8697:9;:19;;;8678:16;;:38;8677:72;;8736:7;:13;8677:72;;;8720:13;;8677:72;8662:6;;:14;:88::i;:::-;:96;;:101::i;:::-;8650:113;;8800:12;;8784;:28;8780:198;;8855:12;8841:27;;;;:13;:27;;;;;;8871:2;-1:-1:-1;8833:81:0;;;;-1:-1:-1;;;8833:81:0;;10723:2:1;8833:81:0;;;10705:21:1;10762:2;10742:18;;;10735:30;10801:34;10781:18;;;10774:62;-1:-1:-1;;;10852:18:1;;;10845:34;10896:19;;8833:81:0;10521:400:1;8833:81:0;8947:12;8933:27;;;;:13;:27;;;;;:29;;;;;;:::i;:::-;;;;;;8780:198;9006:11;;-1:-1:-1;;;;;8998:19:0;;;9006:11;;8998:19;:51;;;;-1:-1:-1;9035:13:0;;-1:-1:-1;;;;;9021:28:0;;;9035:13;;9021:28;;8998:51;:67;;;;-1:-1:-1;;;;;;9054:11:0;;;;;;:7;:11;;;;;;;;9053:12;8998:67;8994:314;;;9104:20;;9094:6;:30;;9086:74;;;;-1:-1:-1;;;9086:74:0;;11268:2:1;9086:74:0;;;11250:21:1;11307:2;11287:18;;;11280:30;11346:33;11326:18;;;11319:61;11397:18;;9086:74:0;11066:355:1;9086:74:0;9213:13;;9203:6;9187:13;9197:2;-1:-1:-1;;;;;6968:17:0;6941:7;6968:17;;;:8;:17;;;;;;;6875:118;9187:13;:22;;;;:::i;:::-;:39;;9179:76;;;;-1:-1:-1;;;9179:76:0;;11758:2:1;9179:76:0;;;11740:21:1;11797:2;11777:18;;;11770:30;-1:-1:-1;;;11816:18:1;;;11809:54;11880:18;;9179:76:0;11556:348:1;9179:76:0;9274:16;:18;;;:16;:18;;;:::i;:::-;;;;;;8994:314;9334:11;;-1:-1:-1;;;;;9328:17:0;;;9334:11;;9328:17;;;;:33;;-1:-1:-1;;;;;;9350:11:0;;;;;;:7;:11;;;;;;;;9349:12;9328:33;9324:150;;;9416:13;;9406:6;9390:13;9400:2;-1:-1:-1;;;;;6968:17:0;6941:7;6968:17;;;:8;:17;;;;;;;6875:118;9390:13;:22;;;;:::i;:::-;:39;;9382:76;;;;-1:-1:-1;;;9382:76:0;;11758:2:1;9382:76:0;;;11740:21:1;11797:2;11777:18;;;11770:30;-1:-1:-1;;;11816:18:1;;;11809:54;11880:18;;9382:76:0;11556:348:1;9382:76:0;9500:11;;-1:-1:-1;;;;;9494:17:0;;;9500:11;;9494:17;:42;;;;-1:-1:-1;;;;;;9515:21:0;;9531:4;9515:21;;9494:42;9490:196;;;9569:101;9666:3;9569:88;9604:9;:19;;;9585:16;;:38;9584:72;;9643:13;;9584:72;;;9627:13;;9569:6;;:14;:88::i;:101::-;9557:113;;9490:196;9714:11;;-1:-1:-1;;;;;9706:19:0;;;9714:11;;9706:19;;;;:40;;-1:-1:-1;9735:11:0;;-1:-1:-1;;;;;9729:17:0;;;9735:11;;9729:17;;9706:40;:65;;;;-1:-1:-1;;;;;;9750:21:0;;9766:4;9750:21;;9706:65;9702:119;;;-1:-1:-1;9804:1:0;9702:119;9886:4;9837:28;6968:17;;;:8;:17;;;;;;9911:9;;;;;;;:24;;;;-1:-1:-1;9925:10:0;;;;9924:11;9911:24;:45;;;;-1:-1:-1;9945:11:0;;-1:-1:-1;;;;;9939:17:0;;;9945:11;;9939:17;9911:45;:60;;;;-1:-1:-1;9960:11:0;;;;;;;9911:60;:103;;;;;9998:16;;9975:20;:39;9911:103;:146;;;;-1:-1:-1;10037:20:0;;10018:16;;:39;9911:146;9907:1185;;;10097:13;;10082:12;:28;10078:98;;;10155:1;10135:17;:21;10078:98;10222:8;;10202:17;;:28;10194:70;;;;-1:-1:-1;;;10194:70:0;;12111:2:1;10194:70:0;;;12093:21:1;12150:2;12130:18;;;12123:30;12189:31;12169:18;;;12162:59;12238:18;;10194:70:0;11909:353:1;10194:70:0;10283:71;10301:52;10305:6;10313:39;10317:20;10339:12;;10313:3;:39::i;:::-;10301:3;:52::i;:::-;10283:17;:71::i;:::-;10402:21;10446:22;;10442:106;;10493:35;10506:21;10493:12;:35::i;:::-;10566:17;:19;;;:17;:19;;;:::i;:::-;;;;-1:-1:-1;;10620:12:0;10604:13;:28;-1:-1:-1;9907:1185:0;;;10659:10;;;;10658:11;:32;;;;-1:-1:-1;10679:11:0;;-1:-1:-1;;;;;10673:17:0;;;10679:11;;10673:17;10658:32;:47;;;;-1:-1:-1;10694:11:0;;;;;;;10658:47;:90;;;;;10732:16;;10709:20;:39;10658:90;:133;;;;-1:-1:-1;10771:20:0;;10752:16;;:39;10658:133;10654:438;;;10812:71;10830:52;10834:6;10842:39;10846:20;10868:12;;10842:3;:39::i;10812:71::-;10931:21;10975:22;;10971:106;;11022:35;11035:21;11022:12;:35::i;:::-;10793:299;10654:438;8635:2468;8597:2506;11119:13;;11115:174;;11192:4;11175:23;;;;:8;:23;;;;;;:42;;11207:9;11175:31;:42::i;:::-;11166:4;11149:23;;;;:8;:23;;;;;;;:68;;;;11237:40;;-1:-1:-1;;;;;11237:40:0;;;;;;;11267:9;1361:25:1;;1349:2;1334:18;;1215:177;11237:40:0;;;;;;;;11115:174;-1:-1:-1;;;;;11316:14:0;;;;;;:8;:14;;;;;;:30;;11339:6;11316:22;:30::i;:::-;-1:-1:-1;;;;;11299:14:0;;;;;;:8;:14;;;;;:47;11372;11393:25;:6;11408:9;11393:14;:25::i;:::-;-1:-1:-1;;;;;11372:12:0;;;;;;:8;:12;;;;;;;:20;:47::i;:::-;-1:-1:-1;;;;;11357:12:0;;;;;;;:8;:12;;;;;:62;;;;11435:45;;;11454:25;:6;11469:9;11454:14;:25::i;:::-;11435:45;;1361:25:1;;;1349:2;1334:18;11435:45:0;;;;;;;8335:3153;8259:3229;;;:::o;1757:194::-;1847:7;1883:12;1875:6;;;;1867:29;;;;-1:-1:-1;;;1867:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1907:9:0;1919:5;1923:1;1919;:5;:::i;:::-;1907:17;1757:194;-1:-1:-1;;;;;1757:194:0:o;12771:197::-;5300:14;5237:1;5300:2;:14;:::i;:::-;5285:29;;:12;:29;:::i;:::-;12829:20;:35;;;5300:14;;5237:1;;5300:14;:::i;:::-;5285:29;;:12;:29;:::i;:::-;12875:13;:28;12919:41;5300:14;5237:1;5300:2;:14;:::i;:::-;5285:29;;:12;:29;:::i;:::-;12919:41;;1361:25:1;;;1349:2;1334:18;12919:41:0;;;;;;;12771:197::o;1959:249::-;2021:7;2045:1;2050;2045:6;2041:47;;-1:-1:-1;2075:1:0;2068:8;;2041:47;2098:9;2110:5;2114:1;2110;:5;:::i;:::-;2098:17;-1:-1:-1;2143:1:0;2134:5;2138:1;2098:17;2134:5;:::i;:::-;:10;2126:55;;;;-1:-1:-1;;;2126:55:0;;12824:2:1;2126:55:0;;;12806:21:1;;;12843:18;;;12836:30;12902:34;12882:18;;;12875:62;12954:18;;2126:55:0;12622:356:1;2126:55:0;2199:1;1959:249;-1:-1:-1;;;1959:249:0:o;2216:139::-;2278:7;2305:42;2313:1;2316;2305:42;;;;;;;;;;;;;;;;;:7;:42::i;11496:98::-;11553:7;11580:1;11578;:3;11577:9;;11585:1;11577:9;;;-1:-1:-1;11583:1:0;11496:98;-1:-1:-1;11496:98:0:o;11602:479::-;6066:10;:17;;-1:-1:-1;;6066:17:0;6079:4;6066:17;;;11702:16:::1;::::0;;11716:1:::1;11702:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11702:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11702:16:0::1;11678:40;;11747:4;11729;11734:1;11729:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11729:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11773:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;11773:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;11729:7;;11773:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11763:4;11768:1;11763:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11763:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;11840:13:::1;::::0;11804:64:::1;::::0;11825:4:::1;::::0;11840:13:::1;11856:11:::0;11804:12:::1;:64::i;:::-;11879:13;::::0;:194:::1;::::0;-1:-1:-1;;;11879:194:0;;-1:-1:-1;;;;;11879:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;11958:11;;11879:13:::1;::::0;12000:4;;12027::::1;::::0;12047:15:::1;::::0;11879:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6106:10:0;:18;;-1:-1:-1;;6106:18:0;;;-1:-1:-1;;;;11602:479:0:o;12089:97::-;12146:15;;:32;;-1:-1:-1;;;;;12146:15:0;;;;:32;;;;;12171:6;;12146:15;:32;:15;:32;12171:6;12146:15;:32;;;;;;;;;;;;;;;;;;;;;12089:97;:::o;1416:182::-;1478:7;;1510:5;1514:1;1510;:5;:::i;:::-;1498:17;;1539:1;1534;:6;;1526:45;;;;-1:-1:-1;;;1526:45:0;;14434:2:1;1526:45:0;;;14416:21:1;14473:2;14453:18;;;14446:30;14512:28;14492:18;;;14485:56;14558:18;;1526:45:0;14232:350:1;1606:143:0;1668:7;1695:46;1703:1;1706;1695:46;;;;;;;;;;;;;;;;;:7;:46::i;2363:193::-;2453:7;2488:12;2481:5;2473:28;;;;-1:-1:-1;;;2473:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2512:9:0;2524:5;2528:1;2524;: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:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:513;2710:6;2718;2726;2734;2787:3;2775:9;2766:7;2762:23;2758:33;2755:53;;;2804:1;2801;2794:12;2755:53;2843:9;2830:23;2862:28;2884:5;2862:28;:::i;:::-;2909:5;-1:-1:-1;2961:2:1;2946:18;;2933:32;;-1:-1:-1;3017:2:1;3002:18;;2989:32;3030:30;2989:32;3030:30;:::i;:::-;2630:513;;;;-1:-1:-1;3079:7:1;;3133:2;3118:18;3105:32;;-1:-1:-1;;2630:513:1:o;3148:388::-;3216:6;3224;3277:2;3265:9;3256:7;3252:23;3248:32;3245:52;;;3293:1;3290;3283:12;3245:52;3332:9;3319:23;3351:31;3376:5;3351:31;:::i;:::-;3401:5;-1:-1:-1;3458:2:1;3443:18;;3430:32;3471:33;3430:32;3471:33;:::i;:::-;3523:7;3513:17;;;3148:388;;;;;:::o;3541:127::-;3602:10;3597:3;3593:20;3590:1;3583:31;3633:4;3630:1;3623:15;3657:4;3654:1;3647:15;3673:416;3762:1;3799:5;3762:1;3813:270;3834:7;3824:8;3821:21;3813:270;;;3893:4;3889:1;3885:6;3881:17;3875:4;3872:27;3869:53;;;3902:18;;:::i;:::-;3952:7;3942:8;3938:22;3935:55;;;3972:16;;;;3935:55;4051:22;;;;4011:15;;;;3813:270;;;3817:3;3673:416;;;;;:::o;4094:806::-;4143:5;4173:8;4163:80;;-1:-1:-1;4214:1:1;4228:5;;4163:80;4262:4;4252:76;;-1:-1:-1;4299:1:1;4313:5;;4252:76;4344:4;4362:1;4357:59;;;;4430:1;4425:130;;;;4337:218;;4357:59;4387:1;4378:10;;4401:5;;;4425:130;4462:3;4452:8;4449:17;4446:43;;;4469:18;;:::i;:::-;-1:-1:-1;;4525:1:1;4511:16;;4540:5;;4337:218;;4639:2;4629:8;4626:16;4620:3;4614:4;4611:13;4607:36;4601:2;4591:8;4588:16;4583:2;4577:4;4574:12;4570:35;4567:77;4564:159;;;-1:-1:-1;4676:19:1;;;4708:5;;4564:159;4755:34;4780:8;4774:4;4755:34;:::i;:::-;4825:6;4821:1;4817:6;4813:19;4804:7;4801:32;4798:58;;;4836:18;;:::i;:::-;4874:20;;4094:806;-1:-1:-1;;;4094:806:1:o;4905:140::-;4963:5;4992:47;5033:4;5023:8;5019:19;5013:4;4992:47;:::i;5050:168::-;5123:9;;;5154;;5171:15;;;5165:22;;5151:37;5141:71;;5192:18;;:::i;5223:401::-;5425:2;5407:21;;;5464:2;5444:18;;;5437:30;5503:34;5498:2;5483:18;;5476:62;-1:-1:-1;;;5569:2:1;5554:18;;5547:35;5614:3;5599:19;;5223:401::o;6328:245::-;6395:6;6448:2;6436:9;6427:7;6423:23;6419:32;6416:52;;;6464:1;6461;6454:12;6416:52;6496:9;6490:16;6515:28;6537:5;6515:28;:::i;6930:251::-;7000:6;7053:2;7041:9;7032:7;7028:23;7024:32;7021:52;;;7069:1;7066;7059:12;7021:52;7101:9;7095:16;7120:31;7145:5;7120:31;:::i;8107:306::-;8195:6;8203;8211;8264:2;8252:9;8243:7;8239:23;8235:32;8232:52;;;8280:1;8277;8270:12;8232:52;8309:9;8303:16;8293:26;;8359:2;8348:9;8344:18;8338:25;8328:35;;8403:2;8392:9;8388:18;8382:25;8372:35;;8107:306;;;;;:::o;10926:135::-;10965:3;10986:17;;;10983:43;;11006:18;;:::i;:::-;-1:-1:-1;11053:1:1;11042:13;;10926:135::o;11426:125::-;11491:9;;;11512:10;;;11509:36;;;11525:18;;:::i;12267:128::-;12334:9;;;12355:11;;;12352:37;;;12369:18;;:::i;12400:217::-;12440:1;12466;12456:132;;12510:10;12505:3;12501:20;12498:1;12491:31;12545:4;12542:1;12535:15;12573:4;12570:1;12563:15;12456:132;-1:-1:-1;12602:9:1;;12400:217::o;13115:127::-;13176:10;13171:3;13167:20;13164:1;13157:31;13207:4;13204:1;13197:15;13231:4;13228:1;13221:15;13247:980;13509:4;13557:3;13546:9;13542:19;13588:6;13577:9;13570:25;13614:2;13652:6;13647:2;13636:9;13632:18;13625:34;13695:3;13690:2;13679:9;13675:18;13668:31;13719:6;13754;13748:13;13785:6;13777;13770:22;13823:3;13812:9;13808:19;13801:26;;13862:2;13854:6;13850:15;13836:29;;13883:1;13893:195;13907:6;13904:1;13901:13;13893:195;;;13972:13;;-1:-1:-1;;;;;13968:39:1;13956:52;;14063:15;;;;14028:12;;;;14004:1;13922:9;13893:195;;;-1:-1:-1;;;;;;;14144:32:1;;;;14139:2;14124:18;;14117:60;-1:-1:-1;;;14208:3:1;14193:19;14186:35;14105:3;13247:980;-1:-1:-1;;;13247:980:1:o

Swarm Source

ipfs://80e9f2367262082823c3492c2729d700d1f386f4da5691ce2c5a1c17a2c18886

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.