ETH Price: $2,791.10 (+4.43%)

Contract

0xE1291056054A43096062ee84C3e9Af00aA6d3Be4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer192259962024-02-14 11:45:35374 days ago1707911135IN
0xE1291056...0aA6d3Be4
0 ETH0.0013195321.5969829
Transfer189110352024-01-01 7:13:35418 days ago1704093215IN
0xE1291056...0aA6d3Be4
0 ETH0.00081278.52799249
Approve144613832022-03-26 10:45:231064 days ago1648291523IN
0xE1291056...0aA6d3Be4
0 ETH0.0005447522.37941062
Approve143844242022-03-14 11:22:011076 days ago1647256921IN
0xE1291056...0aA6d3Be4
0 ETH0.0003887615.97092991
Approve143651332022-03-11 11:03:271079 days ago1646996607IN
0xE1291056...0aA6d3Be4
0 ETH0.0010355522.20982974
Approve143614372022-03-10 21:03:261079 days ago1646946206IN
0xE1291056...0aA6d3Be4
0 ETH0.0013664529.30668878
Approve143353762022-03-06 20:11:381083 days ago1646597498IN
0xE1291056...0aA6d3Be4
0 ETH0.0020668270
Approve143346122022-03-06 17:16:021084 days ago1646586962IN
0xE1291056...0aA6d3Be4
0 ETH0.0018858840.44714851
Approve143303732022-03-06 1:28:001084 days ago1646530080IN
0xE1291056...0aA6d3Be4
0 ETH0.0014463231.01981263
Approve143302182022-03-06 0:54:391084 days ago1646528079IN
0xE1291056...0aA6d3Be4
0 ETH0.0008806318.88723306
Approve143295102022-03-05 22:08:451084 days ago1646518125IN
0xE1291056...0aA6d3Be4
0 ETH0.0030475965.36258498
Approve143294862022-03-05 22:01:181084 days ago1646517678IN
0xE1291056...0aA6d3Be4
0 ETH0.0022357247.95024193
Approve143294472022-03-05 21:53:071084 days ago1646517187IN
0xE1291056...0aA6d3Be4
0 ETH0.0018600739.89343766
Approve143294352022-03-05 21:50:081084 days ago1646517008IN
0xE1291056...0aA6d3Be4
0 ETH0.0013065628.02217967
Approve143293792022-03-05 21:39:151084 days ago1646516355IN
0xE1291056...0aA6d3Be4
0 ETH0.0015357832.93836465
Approve143293742022-03-05 21:38:251084 days ago1646516305IN
0xE1291056...0aA6d3Be4
0 ETH0.0035218475.53392371
Approve143293692022-03-05 21:37:351084 days ago1646516255IN
0xE1291056...0aA6d3Be4
0 ETH0.0016515935.42225454
Approve143293592022-03-05 21:35:091084 days ago1646516109IN
0xE1291056...0aA6d3Be4
0 ETH0.0016700735.81860063
Approve143293522022-03-05 21:33:481084 days ago1646516028IN
0xE1291056...0aA6d3Be4
0 ETH0.0017973538.54824605
Approve143293482022-03-05 21:32:571084 days ago1646515977IN
0xE1291056...0aA6d3Be4
0 ETH0.0011386938.5658675
Approve143293472022-03-05 21:32:481084 days ago1646515968IN
0xE1291056...0aA6d3Be4
0 ETH0.001873740.18588552
Approve143293462022-03-05 21:32:341084 days ago1646515954IN
0xE1291056...0aA6d3Be4
0 ETH0.0010777940.32749355
Approve143293322022-03-05 21:29:441084 days ago1646515784IN
0xE1291056...0aA6d3Be4
0 ETH0.002331249.99800845
Approve143293222022-03-05 21:26:431084 days ago1646515603IN
0xE1291056...0aA6d3Be4
0 ETH0.0016752435.9294155
Approve143293042022-03-05 21:23:171084 days ago1646515397IN
0xE1291056...0aA6d3Be4
0 ETH0.0011783244.08917227
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
143296722022-03-05 22:48:021084 days ago1646520482
0xE1291056...0aA6d3Be4
0.08664309 ETH
143296722022-03-05 22:48:021084 days ago1646520482
0xE1291056...0aA6d3Be4
0.01528995 ETH
143296722022-03-05 22:48:021084 days ago1646520482
0xE1291056...0aA6d3Be4
0.10193305 ETH
143293602022-03-05 21:35:421084 days ago1646516142
0xE1291056...0aA6d3Be4
0.12547664 ETH
143293602022-03-05 21:35:421084 days ago1646516142
0xE1291056...0aA6d3Be4
0.02214293 ETH
143293602022-03-05 21:35:421084 days ago1646516142
0xE1291056...0aA6d3Be4
0.14761958 ETH
143293172022-03-05 21:26:091084 days ago1646515569
0xE1291056...0aA6d3Be4
0.83556855 ETH
143293172022-03-05 21:26:091084 days ago1646515569
0xE1291056...0aA6d3Be4
0.03750739 ETH
143293172022-03-05 21:26:091084 days ago1646515569
0xE1291056...0aA6d3Be4
0.25004927 ETH
143293092022-03-05 21:23:481084 days ago1646515428
0xE1291056...0aA6d3Be4
0.03750739 ETH
143293092022-03-05 21:23:481084 days ago1646515428
0xE1291056...0aA6d3Be4
0.25004927 ETH
143292692022-03-05 21:15:291084 days ago1646514929
0xE1291056...0aA6d3Be4
0.03079146 ETH
143292692022-03-05 21:15:291084 days ago1646514929
0xE1291056...0aA6d3Be4
0.2052764 ETH
143292572022-03-05 21:12:091084 days ago1646514729
0xE1291056...0aA6d3Be4
0.07915442 ETH
143292572022-03-05 21:12:091084 days ago1646514729
0xE1291056...0aA6d3Be4
0.52769615 ETH
143291782022-03-05 20:56:061084 days ago1646513766
0xE1291056...0aA6d3Be4
0.59740913 ETH
143291782022-03-05 20:56:061084 days ago1646513766
0xE1291056...0aA6d3Be4
0.10542514 ETH
143291782022-03-05 20:56:061084 days ago1646513766
0xE1291056...0aA6d3Be4
0.70283427 ETH
143291762022-03-05 20:55:361084 days ago1646513736
0xE1291056...0aA6d3Be4
0.10542514 ETH
143291762022-03-05 20:55:361084 days ago1646513736
0xE1291056...0aA6d3Be4
0.70283427 ETH
143291762022-03-05 20:55:361084 days ago1646513736
0xE1291056...0aA6d3Be4
0.10470796 ETH
143291762022-03-05 20:55:361084 days ago1646513736
0xE1291056...0aA6d3Be4
0.69805312 ETH
143291472022-03-05 20:48:591084 days ago1646513339
0xE1291056...0aA6d3Be4
1.22887375 ETH
143291472022-03-05 20:48:591084 days ago1646513339
0xE1291056...0aA6d3Be4
0.21686007 ETH
143291472022-03-05 20:48:591084 days ago1646513339
0xE1291056...0aA6d3Be4
1.44573383 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AceTheBatHound

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-05
*/

// SPDX-License-Identifier: Unlicensed

// https://www.ace-crypto.com/

// https://t.me/acebatinu

pragma solidity ^0.8.4;

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    
    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

   
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

   
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

   
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract AceTheBatHound is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Ace The Bat Hound";
    string private constant _symbol = "ACE";
    uint8 private constant _decimals = 9;

    mapping (address => uint256) _balances;
    mapping(address => uint256) _lastTX;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 _totalSupply = 1000000000 * 10**9;

    //Buy Fee
    uint256 private _taxFeeOnBuy = 11;

    //Sell Fee
    uint256 private _taxFeeOnSell = 11;

    //Original Fee
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots;


    address payable private _marketingAddress = payable(0x5EDf2c30127CBFcc28C1649d9c9519629A626775);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private transferDelay = true;

    uint256 public _maxTxAmount = 7500000 * 10**9; //0.75
    uint256 public _maxWalletSize = 15000000 * 10**9; //1.5
    uint256 public _swapTokensAtAmount = 1000000 * 10**9; //0.1

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _balances[_msgSender()] = _totalSupply;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
	    _isExcludedFromFee[_marketingAddress] = true; //multisig

        

        emit Transfer(address(0), _msgSender(), _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 view override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!_isExcludedFromFee[to] && !_isExcludedFromFee[from]) {
	    require(tradingOpen, "TOKEN: Trading not yet started");
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
		        if(from == uniswapV2Pair && transferDelay){
		            require(_lastTX[tx.origin] + 3 minutes < block.timestamp && _lastTX[to] + 3 minutes < block.timestamp, "TOKEN: 3 minutes cooldown between buys");
		        }
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _swapTokensAtAmount)
            {
                contractTokenBalance = _swapTokensAtAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance); // Reserve of 15% of tokens for liquidity
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0 ether) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }

        }
	    _lastTX[tx.origin] = block.timestamp;
	    _lastTX[to] = block.timestamp;
        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
	uint256 ethAmt = tokenAmount.mul(85).div(100);
	uint256 liqAmt = tokenAmount - ethAmt;
        uint256 balanceBefore = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            ethAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);

      addLiquidity(liqAmt, amountETH.mul(15).div(100));
    }

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {

        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );

    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

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

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) {_transferNoTax(sender,recipient, amount);}
        else {_transferStandard(sender, recipient, amount);}
    }

     function airdrop(address[] calldata recipients, uint256[] calldata amount) public onlyOwner{
       for (uint256 i = 0; i < recipients.length; i++) {
            _transferNoTax(msg.sender,recipients[i], amount[i]);
        }
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        uint256 amountReceived = takeFees(sender, amount);
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
     function _transferNoTax(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    function takeFees(address sender,uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(_taxFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }


    receive() external payable {}

    function transferOwnership(address newOwner) public override onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _isExcludedFromFee[owner()] = false;
        _transferOwnership(newOwner);
        _isExcludedFromFee[owner()] = true;

    }
  
    function setFees(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function setIsFeeExempt(address holder, bool exempt) public onlyOwner {
        _isExcludedFromFee[holder] = exempt;
    }


    function toggleTransferDelay() public onlyOwner {
        transferDelay = !transferDelay;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdrop","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":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualswap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a7640000600555600b600681905560078190556008819055600981905580546001600160a01b031916735edf2c30127cbfcc28c1649d9c9519629a626775179055600d805461010160b01b63ffffffff60a01b19909116179055661aa535d3d0c000600e5566354a6ba7a18000600f5566038d7ea4c680006010553480156200009157600080fd5b506200009d336200031e565b6005543360009081526001602090815260409182902092909255600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200011457600080fd5b505afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200036e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019857600080fd5b505afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d391906200036e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200021c57600080fd5b505af115801562000231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025791906200036e565b600d80546001600160a01b0319166001600160a01b03928316179055600080548216815260046020526040808220805460ff1990811660019081179092553084528284208054821683179055600b805486168552838520805483168417905554909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200030f91815260200190565b60405180910390a3506200039e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121562000380578081fd5b81516001600160a01b038116811462000397578182fd5b9392505050565b611fce80620003ae6000396000f3fe6080604052600436106101d05760003560e01c8063715018a6116100f757806395d89b4111610095578063c3c8cd8011610064578063c3c8cd8014610569578063dd62ed3e1461057e578063ea1644d5146105c4578063f2fde38b146105e457600080fd5b806395d89b41146104cd57806398a5c315146104f9578063a9059cbb14610519578063bfd792841461053957600080fd5b80638da5cb5b116100d15780638da5cb5b146104645780638eb59a5f146104825780638f70ccf7146104975780638f9a55c0146104b757600080fd5b8063715018a61461041957806374010ece1461042e5780637d1db4a51461044e57600080fd5b80632fd689e31161016f578063672434821161013e57806367243482146103835780636b999053146103a35780636d8aa8f8146103c357806370a08231146103e357600080fd5b80632fd689e314610311578063313ce5671461032757806349bd5a5e14610343578063658d4b7f1461036357600080fd5b80630b78f9c0116101ab5780630b78f9c01461027a5780631694505e1461029a57806318160ddd146102d257806323b872dd146102f157600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024a57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611c67565b610604565b005b34801561020a57600080fd5b506040805180820190915260118152701058d948151a194810985d08121bdd5b99607a1b60208201525b6040516102419190611dae565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611bd3565b6106b1565b6040519015158152602001610241565b34801561028657600080fd5b506101fc610295366004611d60565b6106c8565b3480156102a657600080fd5b50600c546102ba906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102de57600080fd5b506005545b604051908152602001610241565b3480156102fd57600080fd5b5061026a61030c366004611b5f565b6106fd565b34801561031d57600080fd5b506102e360105481565b34801561033357600080fd5b5060405160098152602001610241565b34801561034f57600080fd5b50600d546102ba906001600160a01b031681565b34801561036f57600080fd5b506101fc61037e366004611b9f565b610766565b34801561038f57600080fd5b506101fc61039e366004611bfe565b6107bb565b3480156103af57600080fd5b506101fc6103be366004611aef565b61086f565b3480156103cf57600080fd5b506101fc6103de366004611d2e565b6108ba565b3480156103ef57600080fd5b506102e36103fe366004611aef565b6001600160a01b031660009081526001602052604090205490565b34801561042557600080fd5b506101fc610902565b34801561043a57600080fd5b506101fc610449366004611d48565b610938565b34801561045a57600080fd5b506102e3600e5481565b34801561047057600080fd5b506000546001600160a01b03166102ba565b34801561048e57600080fd5b506101fc610967565b3480156104a357600080fd5b506101fc6104b2366004611d2e565b6109b2565b3480156104c357600080fd5b506102e3600f5481565b3480156104d957600080fd5b5060408051808201909152600381526241434560e81b6020820152610234565b34801561050557600080fd5b506101fc610514366004611d48565b6109fa565b34801561052557600080fd5b5061026a610534366004611bd3565b610a29565b34801561054557600080fd5b5061026a610554366004611aef565b600a6020526000908152604090205460ff1681565b34801561057557600080fd5b506101fc610a36565b34801561058a57600080fd5b506102e3610599366004611b27565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105d057600080fd5b506101fc6105df366004611d48565b610a7c565b3480156105f057600080fd5b506101fc6105ff366004611aef565b610aab565b6000546001600160a01b031633146106375760405162461bcd60e51b815260040161062e90611e01565b60405180910390fd5b60005b81518110156106ad576001600a600084848151811061066957634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106a581611f14565b91505061063a565b5050565b60006106be338484610bc6565b5060015b92915050565b6000546001600160a01b031633146106f25760405162461bcd60e51b815260040161062e90611e01565b600691909155600755565b600061070a848484610cea565b61075c843361075785604051806060016040528060288152602001611f71602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112bc565b610bc6565b5060019392505050565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107e55760405162461bcd60e51b815260040161062e90611e01565b60005b83811015610868576108553386868481811061081457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906108299190611aef565b85858581811061084957634e487b7160e01b600052603260045260246000fd5b905060200201356112f6565b508061086081611f14565b9150506107e8565b5050505050565b6000546001600160a01b031633146108995760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b031633146108e45760405162461bcd60e51b815260040161062e90611e01565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331461092c5760405162461bcd60e51b815260040161062e90611e01565b61093660006113dc565b565b6000546001600160a01b031633146109625760405162461bcd60e51b815260040161062e90611e01565b600e55565b6000546001600160a01b031633146109915760405162461bcd60e51b815260040161062e90611e01565b600d805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b031633146109dc5760405162461bcd60e51b815260040161062e90611e01565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a245760405162461bcd60e51b815260040161062e90611e01565b601055565b60006106be338484610cea565b6000546001600160a01b03163314610a605760405162461bcd60e51b815260040161062e90611e01565b30600090815260016020526040902054610a798161142c565b50565b6000546001600160a01b03163314610aa65760405162461bcd60e51b815260040161062e90611e01565b600f55565b6000546001600160a01b03163314610ad55760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b038116610b3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062e565b600060046000610b526000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b83816113dc565b600160046000610b9b6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b038316610c285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062e565b6001600160a01b038216610c895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d4e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062e565b6001600160a01b038216610db05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062e565b60008111610e125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062e565b6001600160a01b03821660009081526004602052604090205460ff16158015610e5457506001600160a01b03831660009081526004602052604090205460ff16155b1561119757600d54600160a01b900460ff16610eb25760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161062e565b600e54811115610f045760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062e565b6001600160a01b0383166000908152600a602052604090205460ff16158015610f4657506001600160a01b0382166000908152600a602052604090205460ff16155b610f9e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062e565b600d546001600160a01b0383811691161461110c57600d546001600160a01b038481169116148015610fd95750600d54600160b81b900460ff165b1561108657326000908152600260205260409020544290610ffb9060b4611ea6565b10801561102b57506001600160a01b03821660009081526002602052604090205442906110299060b4611ea6565b105b6110865760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161062e565b600f54816110a9846001600160a01b031660009081526001602052604090205490565b6110b39190611ea6565b1061110c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062e565b30600090815260016020526040902054601054811080159061112e5760105491505b8080156111455750600d54600160a81b900460ff16155b801561115f5750600d546001600160a01b03868116911614155b80156111745750600d54600160b01b900460ff165b15611194576111828261142c565b4780156111925761119247611630565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff16806111d957506001600160a01b03831660009081526004602052604090205460ff165b8061120b5750600d546001600160a01b0385811691161480159061120b5750600d546001600160a01b03848116911614155b1561121857506000611286565b600d546001600160a01b0385811691161480156112435750600c546001600160a01b03848116911614155b1561124f576006546008555b600d546001600160a01b03848116911614801561127a5750600c546001600160a01b03858116911614155b15611286576007546008555b3260009081526002602052604080822042908190556001600160a01b03861683529120556112b68484848461166a565b50505050565b600081848411156112e05760405162461bcd60e51b815260040161062e9190611dae565b5060006112ed8486611efd565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526001909152918220546113479184906112bc565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611376908361168b565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805460ff60a81b1916600160a81b179055600061145760646114518460556116f1565b90611770565b905060006114658284611efd565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106114ad57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561150157600080fd5b505afa158015611515573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115399190611b0b565b8160018151811061155a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600c546115809130911687610bc6565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b9908790600090869030904290600401611e36565b600060405180830381600087803b1580156115d357600080fd5b505af11580156115e7573d6000803e3d6000fd5b50505050600061160083476117b290919063ffffffff16565b905061161b84611616606461145185600f6116f1565b6117f4565b5050600d805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106ad573d6000803e3d6000fd5b806116805761167a8484846112f6565b506112b6565b6112b68484846118ad565b6000806116988385611ea6565b9050838110156116ea5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062e565b9392505050565b600082611700575060006106c2565b600061170c8385611ede565b9050826117198583611ebe565b146116ea5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062e565b60006116ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119b2565b60006116ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112bc565b600c5461180c9030906001600160a01b031684610bc6565b600c5460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108689190611d81565b60006118b984836119e0565b90506119218260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060016000886001600160a01b03166001600160a01b03168152602001908152602001600020546112bc9092919063ffffffff16565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611950908261168b565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a49085815260200190565b60405180910390a350505050565b600081836119d35760405162461bcd60e51b815260040161062e9190611dae565b5060006112ed8486611ebe565b6000806119fd6064611451600854866116f190919063ffffffff16565b30600090815260016020526040902054909150611a1a908261168b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a6b9085815260200190565b60405180910390a3611a7d83826117b2565b949350505050565b8035611a9081611f5b565b919050565b60008083601f840112611aa6578081fd5b50813567ffffffffffffffff811115611abd578182fd5b6020830191508360208260051b8501011115611ad857600080fd5b9250929050565b80358015158114611a9057600080fd5b600060208284031215611b00578081fd5b81356116ea81611f5b565b600060208284031215611b1c578081fd5b81516116ea81611f5b565b60008060408385031215611b39578081fd5b8235611b4481611f5b565b91506020830135611b5481611f5b565b809150509250929050565b600080600060608486031215611b73578081fd5b8335611b7e81611f5b565b92506020840135611b8e81611f5b565b929592945050506040919091013590565b60008060408385031215611bb1578182fd5b8235611bbc81611f5b565b9150611bca60208401611adf565b90509250929050565b60008060408385031215611be5578182fd5b8235611bf081611f5b565b946020939093013593505050565b60008060008060408587031215611c13578081fd5b843567ffffffffffffffff80821115611c2a578283fd5b611c3688838901611a95565b90965094506020870135915080821115611c4e578283fd5b50611c5b87828801611a95565b95989497509550505050565b60006020808385031215611c79578182fd5b823567ffffffffffffffff80821115611c90578384fd5b818501915085601f830112611ca3578384fd5b813581811115611cb557611cb5611f45565b8060051b604051601f19603f83011681018181108582111715611cda57611cda611f45565b604052828152858101935084860182860187018a1015611cf8578788fd5b8795505b83861015611d2157611d0d81611a85565b855260019590950194938601938601611cfc565b5098975050505050505050565b600060208284031215611d3f578081fd5b6116ea82611adf565b600060208284031215611d59578081fd5b5035919050565b60008060408385031215611d72578182fd5b50508035926020909101359150565b600080600060608486031215611d95578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611dda57858101830151858201604001528201611dbe565b81811115611deb5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611e855784516001600160a01b031683529383019391830191600101611e60565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611eb957611eb9611f2f565b500190565b600082611ed957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611ef857611ef8611f2f565b500290565b600082821015611f0f57611f0f611f2f565b500390565b6000600019821415611f2857611f28611f2f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a7957600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045a32daeab8eaddbdff55880c26867c3f7fad2ad8267fca99093deb1d2bafbb264736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c8063715018a6116100f757806395d89b4111610095578063c3c8cd8011610064578063c3c8cd8014610569578063dd62ed3e1461057e578063ea1644d5146105c4578063f2fde38b146105e457600080fd5b806395d89b41146104cd57806398a5c315146104f9578063a9059cbb14610519578063bfd792841461053957600080fd5b80638da5cb5b116100d15780638da5cb5b146104645780638eb59a5f146104825780638f70ccf7146104975780638f9a55c0146104b757600080fd5b8063715018a61461041957806374010ece1461042e5780637d1db4a51461044e57600080fd5b80632fd689e31161016f578063672434821161013e57806367243482146103835780636b999053146103a35780636d8aa8f8146103c357806370a08231146103e357600080fd5b80632fd689e314610311578063313ce5671461032757806349bd5a5e14610343578063658d4b7f1461036357600080fd5b80630b78f9c0116101ab5780630b78f9c01461027a5780631694505e1461029a57806318160ddd146102d257806323b872dd146102f157600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024a57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611c67565b610604565b005b34801561020a57600080fd5b506040805180820190915260118152701058d948151a194810985d08121bdd5b99607a1b60208201525b6040516102419190611dae565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611bd3565b6106b1565b6040519015158152602001610241565b34801561028657600080fd5b506101fc610295366004611d60565b6106c8565b3480156102a657600080fd5b50600c546102ba906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102de57600080fd5b506005545b604051908152602001610241565b3480156102fd57600080fd5b5061026a61030c366004611b5f565b6106fd565b34801561031d57600080fd5b506102e360105481565b34801561033357600080fd5b5060405160098152602001610241565b34801561034f57600080fd5b50600d546102ba906001600160a01b031681565b34801561036f57600080fd5b506101fc61037e366004611b9f565b610766565b34801561038f57600080fd5b506101fc61039e366004611bfe565b6107bb565b3480156103af57600080fd5b506101fc6103be366004611aef565b61086f565b3480156103cf57600080fd5b506101fc6103de366004611d2e565b6108ba565b3480156103ef57600080fd5b506102e36103fe366004611aef565b6001600160a01b031660009081526001602052604090205490565b34801561042557600080fd5b506101fc610902565b34801561043a57600080fd5b506101fc610449366004611d48565b610938565b34801561045a57600080fd5b506102e3600e5481565b34801561047057600080fd5b506000546001600160a01b03166102ba565b34801561048e57600080fd5b506101fc610967565b3480156104a357600080fd5b506101fc6104b2366004611d2e565b6109b2565b3480156104c357600080fd5b506102e3600f5481565b3480156104d957600080fd5b5060408051808201909152600381526241434560e81b6020820152610234565b34801561050557600080fd5b506101fc610514366004611d48565b6109fa565b34801561052557600080fd5b5061026a610534366004611bd3565b610a29565b34801561054557600080fd5b5061026a610554366004611aef565b600a6020526000908152604090205460ff1681565b34801561057557600080fd5b506101fc610a36565b34801561058a57600080fd5b506102e3610599366004611b27565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105d057600080fd5b506101fc6105df366004611d48565b610a7c565b3480156105f057600080fd5b506101fc6105ff366004611aef565b610aab565b6000546001600160a01b031633146106375760405162461bcd60e51b815260040161062e90611e01565b60405180910390fd5b60005b81518110156106ad576001600a600084848151811061066957634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106a581611f14565b91505061063a565b5050565b60006106be338484610bc6565b5060015b92915050565b6000546001600160a01b031633146106f25760405162461bcd60e51b815260040161062e90611e01565b600691909155600755565b600061070a848484610cea565b61075c843361075785604051806060016040528060288152602001611f71602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112bc565b610bc6565b5060019392505050565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107e55760405162461bcd60e51b815260040161062e90611e01565b60005b83811015610868576108553386868481811061081457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906108299190611aef565b85858581811061084957634e487b7160e01b600052603260045260246000fd5b905060200201356112f6565b508061086081611f14565b9150506107e8565b5050505050565b6000546001600160a01b031633146108995760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b031633146108e45760405162461bcd60e51b815260040161062e90611e01565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331461092c5760405162461bcd60e51b815260040161062e90611e01565b61093660006113dc565b565b6000546001600160a01b031633146109625760405162461bcd60e51b815260040161062e90611e01565b600e55565b6000546001600160a01b031633146109915760405162461bcd60e51b815260040161062e90611e01565b600d805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b031633146109dc5760405162461bcd60e51b815260040161062e90611e01565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a245760405162461bcd60e51b815260040161062e90611e01565b601055565b60006106be338484610cea565b6000546001600160a01b03163314610a605760405162461bcd60e51b815260040161062e90611e01565b30600090815260016020526040902054610a798161142c565b50565b6000546001600160a01b03163314610aa65760405162461bcd60e51b815260040161062e90611e01565b600f55565b6000546001600160a01b03163314610ad55760405162461bcd60e51b815260040161062e90611e01565b6001600160a01b038116610b3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161062e565b600060046000610b526000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b83816113dc565b600160046000610b9b6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b038316610c285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161062e565b6001600160a01b038216610c895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161062e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d4e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161062e565b6001600160a01b038216610db05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161062e565b60008111610e125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161062e565b6001600160a01b03821660009081526004602052604090205460ff16158015610e5457506001600160a01b03831660009081526004602052604090205460ff16155b1561119757600d54600160a01b900460ff16610eb25760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161062e565b600e54811115610f045760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161062e565b6001600160a01b0383166000908152600a602052604090205460ff16158015610f4657506001600160a01b0382166000908152600a602052604090205460ff16155b610f9e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161062e565b600d546001600160a01b0383811691161461110c57600d546001600160a01b038481169116148015610fd95750600d54600160b81b900460ff165b1561108657326000908152600260205260409020544290610ffb9060b4611ea6565b10801561102b57506001600160a01b03821660009081526002602052604090205442906110299060b4611ea6565b105b6110865760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161062e565b600f54816110a9846001600160a01b031660009081526001602052604090205490565b6110b39190611ea6565b1061110c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161062e565b30600090815260016020526040902054601054811080159061112e5760105491505b8080156111455750600d54600160a81b900460ff16155b801561115f5750600d546001600160a01b03868116911614155b80156111745750600d54600160b01b900460ff165b15611194576111828261142c565b4780156111925761119247611630565b505b50505b6001600160a01b03831660009081526004602052604090205460019060ff16806111d957506001600160a01b03831660009081526004602052604090205460ff165b8061120b5750600d546001600160a01b0385811691161480159061120b5750600d546001600160a01b03848116911614155b1561121857506000611286565b600d546001600160a01b0385811691161480156112435750600c546001600160a01b03848116911614155b1561124f576006546008555b600d546001600160a01b03848116911614801561127a5750600c546001600160a01b03858116911614155b15611286576007546008555b3260009081526002602052604080822042908190556001600160a01b03861683529120556112b68484848461166a565b50505050565b600081848411156112e05760405162461bcd60e51b815260040161062e9190611dae565b5060006112ed8486611efd565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526001909152918220546113479184906112bc565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611376908361168b565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805460ff60a81b1916600160a81b179055600061145760646114518460556116f1565b90611770565b905060006114658284611efd565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106114ad57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561150157600080fd5b505afa158015611515573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115399190611b0b565b8160018151811061155a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600c546115809130911687610bc6565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b9908790600090869030904290600401611e36565b600060405180830381600087803b1580156115d357600080fd5b505af11580156115e7573d6000803e3d6000fd5b50505050600061160083476117b290919063ffffffff16565b905061161b84611616606461145185600f6116f1565b6117f4565b5050600d805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106ad573d6000803e3d6000fd5b806116805761167a8484846112f6565b506112b6565b6112b68484846118ad565b6000806116988385611ea6565b9050838110156116ea5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161062e565b9392505050565b600082611700575060006106c2565b600061170c8385611ede565b9050826117198583611ebe565b146116ea5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161062e565b60006116ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119b2565b60006116ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112bc565b600c5461180c9030906001600160a01b031684610bc6565b600c5460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108689190611d81565b60006118b984836119e0565b90506119218260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060016000886001600160a01b03166001600160a01b03168152602001908152602001600020546112bc9092919063ffffffff16565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611950908261168b565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a49085815260200190565b60405180910390a350505050565b600081836119d35760405162461bcd60e51b815260040161062e9190611dae565b5060006112ed8486611ebe565b6000806119fd6064611451600854866116f190919063ffffffff16565b30600090815260016020526040902054909150611a1a908261168b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a6b9085815260200190565b60405180910390a3611a7d83826117b2565b949350505050565b8035611a9081611f5b565b919050565b60008083601f840112611aa6578081fd5b50813567ffffffffffffffff811115611abd578182fd5b6020830191508360208260051b8501011115611ad857600080fd5b9250929050565b80358015158114611a9057600080fd5b600060208284031215611b00578081fd5b81356116ea81611f5b565b600060208284031215611b1c578081fd5b81516116ea81611f5b565b60008060408385031215611b39578081fd5b8235611b4481611f5b565b91506020830135611b5481611f5b565b809150509250929050565b600080600060608486031215611b73578081fd5b8335611b7e81611f5b565b92506020840135611b8e81611f5b565b929592945050506040919091013590565b60008060408385031215611bb1578182fd5b8235611bbc81611f5b565b9150611bca60208401611adf565b90509250929050565b60008060408385031215611be5578182fd5b8235611bf081611f5b565b946020939093013593505050565b60008060008060408587031215611c13578081fd5b843567ffffffffffffffff80821115611c2a578283fd5b611c3688838901611a95565b90965094506020870135915080821115611c4e578283fd5b50611c5b87828801611a95565b95989497509550505050565b60006020808385031215611c79578182fd5b823567ffffffffffffffff80821115611c90578384fd5b818501915085601f830112611ca3578384fd5b813581811115611cb557611cb5611f45565b8060051b604051601f19603f83011681018181108582111715611cda57611cda611f45565b604052828152858101935084860182860187018a1015611cf8578788fd5b8795505b83861015611d2157611d0d81611a85565b855260019590950194938601938601611cfc565b5098975050505050505050565b600060208284031215611d3f578081fd5b6116ea82611adf565b600060208284031215611d59578081fd5b5035919050565b60008060408385031215611d72578182fd5b50508035926020909101359150565b600080600060608486031215611d95578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611dda57858101830151858201604001528201611dbe565b81811115611deb5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611e855784516001600160a01b031683529383019391830191600101611e60565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611eb957611eb9611f2f565b500190565b600082611ed957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611ef857611ef8611f2f565b500290565b600082821015611f0f57611f0f611f2f565b500390565b6000600019821415611f2857611f28611f2f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a7957600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045a32daeab8eaddbdff55880c26867c3f7fad2ad8267fca99093deb1d2bafbb264736f6c63430008040033

Deployed Bytecode Sourcemap

4144:11337:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12349:169;;;;;;;;;;-1:-1:-1;12349:169:0;;;;;:::i;:::-;;:::i;:::-;;6287:83;;;;;;;;;;-1:-1:-1;6357:5:0;;;;;;;;;;;;-1:-1:-1;;;6357:5:0;;;;6287:83;;;;;;;:::i;:::-;;;;;;;;7199:193;;;;;;;;;;-1:-1:-1;7199:193:0;;;;;:::i;:::-;;:::i;:::-;;;6725:14:1;;6718:22;6700:41;;6688:2;6673:18;7199:193:0;6655:92:1;14571:161:0;;;;;;;;;;-1:-1:-1;14571:161:0;;;;;:::i;:::-;;:::i;5041:41::-;;;;;;;;;;-1:-1:-1;5041:41:0;;;;-1:-1:-1;;;;;5041:41:0;;;;;;-1:-1:-1;;;;;5904:32:1;;;5886:51;;5874:2;5859:18;5041:41:0;5841:102:1;6564:100:0;;;;;;;;;;-1:-1:-1;6644:12:0;;6564:100;;;13225:25:1;;;13213:2;13198:18;6564:100:0;13180:76:1;7400:446:0;;;;;;;;;;-1:-1:-1;7400:446:0;;;;;:::i;:::-;;:::i;5399:52::-;;;;;;;;;;;;;;;;6473:83;;;;;;;;;;-1:-1:-1;6473:83:0;;4379:1;14391:36:1;;14379:2;14364:18;6473:83:0;14346:87:1;5089:28:0;;;;;;;;;;-1:-1:-1;5089:28:0;;;;-1:-1:-1;;;;;5089:28:0;;;15247:124;;;;;;;;;;-1:-1:-1;15247:124:0;;;;;:::i;:::-;;:::i;12912:234::-;;;;;;;;;;-1:-1:-1;12912:234:0;;;;;:::i;:::-;;:::i;12526:92::-;;;;;;;;;;-1:-1:-1;12526:92:0;;;;;:::i;:::-;;:::i;14891:101::-;;;;;;;;;;-1:-1:-1;14891:101:0;;;;;:::i;:::-;;:::i;6672:120::-;;;;;;;;;;-1:-1:-1;6672:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;6765:18:0;6738:7;6765:18;;;:9;:18;;;;;;;6672:120;1512:103;;;;;;;;;;;;;:::i;15004:108::-;;;;;;;;;;-1:-1:-1;15004:108:0;;;;;:::i;:::-;;:::i;5279:45::-;;;;;;;;;;;;;;;;1279:87;;;;;;;;;;-1:-1:-1;1325:7:0;1352:6;-1:-1:-1;;;;;1352:6:0;1279:87;;15381:97;;;;;;;;;;;;;:::i;12078:101::-;;;;;;;;;;-1:-1:-1;12078:101:0;;;;;:::i;:::-;;:::i;5338:48::-;;;;;;;;;;;;;;;;6378:87;;;;;;;;;;-1:-1:-1;6450:7:0;;;;;;;;;;;;-1:-1:-1;;;6450:7:0;;;;6378:87;;14740:139;;;;;;;;;;-1:-1:-1;14740:139:0;;;;;:::i;:::-;;:::i;6800:199::-;;;;;;;;;;-1:-1:-1;6800:199:0;;;;;:::i;:::-;;:::i;4890:36::-;;;;;;;;;;-1:-1:-1;4890:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12187:154;;;;;;;;;;;;;:::i;7007:184::-;;;;;;;;;;-1:-1:-1;7007:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7156:18:0;;;7124:7;7156:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7007:184;15124:115;;;;;;;;;;-1:-1:-1;15124:115:0;;;;;:::i;:::-;;:::i;14266:295::-;;;;;;;;;;-1:-1:-1;14266:295:0;;;;;:::i;:::-;;:::i;12349:169::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;;;;;;;;;12425:9:::1;12420:91;12444:5;:12;12440:1;:16;12420:91;;;12495:4;12478;:14;12483:5;12489:1;12483:8;;;;;;-1:-1:-1::0;;;12483:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12478:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12478:14:0;:21;;-1:-1:-1;;12478:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12458:3;::::1;::::0;::::1;:::i;:::-;;;;12420:91;;;;12349:169:::0;:::o;7199:193::-;7301:4;7323:39;245:10;7346:7;7355:6;7323:8;:39::i;:::-;-1:-1:-1;7380:4:0;7199:193;;;;;:::o;14571:161::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;14659:12:::1;:26:::0;;;;14696:13:::1;:28:::0;14571:161::o;7400:446::-;7532:4;7549:36;7559:6;7567:9;7578:6;7549:9;:36::i;:::-;7596:220;7619:6;245:10;7667:138;7723:6;7667:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7667:19:0;;;;;;:11;:19;;;;;;;;245:10;7667:33;;;;;;;;;;:37;:138::i;:::-;7596:8;:220::i;:::-;-1:-1:-1;7834:4:0;7400:446;;;;;:::o;15247:124::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15328:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;15328:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15247:124::o;12912:234::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;13018:9:::1;13013:126;13033:21:::0;;::::1;13013:126;;;13076:51;13091:10;13102;;13113:1;13102:13;;;;;-1:-1:-1::0;;;13102:13:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13117:6;;13124:1;13117:9;;;;;-1:-1:-1::0;;;13117:9:0::1;;;;;;;;;;;;;;;13076:14;:51::i;:::-;-1:-1:-1::0;13056:3:0;::::1;::::0;::::1;:::i;:::-;;;;13013:126;;;;12912:234:::0;;;;:::o;12526:92::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12590:12:0::1;12605:5;12590:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12590:20:0::1;::::0;;12526:92::o;14891:101::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;14958:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;14958:26:0::1;-1:-1:-1::0;;;;14958:26:0;;::::1;::::0;;;::::1;::::0;;14891:101::o;1512:103::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;1577:30:::1;1604:1;1577:18;:30::i;:::-;1512:103::o:0;15004:108::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;15078:12:::1;:26:::0;15004:108::o;15381:97::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;15457:13:::1;::::0;;-1:-1:-1;;;;15440:30:0;::::1;-1:-1:-1::0;;;15457:13:0;;;::::1;;;15456:14;15440:30:::0;;::::1;;::::0;;15381:97::o;12078:101::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;12145:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12145:26:0::1;-1:-1:-1::0;;;;12145:26:0;;::::1;::::0;;;::::1;::::0;;12078:101::o;14740:139::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;14831:19:::1;:40:::0;14740:139::o;6800:199::-;6905:4;6927:42;245:10;6951:9;6962:6;6927:9;:42::i;12187:154::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;12283:4:::1;12239:23;6765:18:::0;;;:9;:18;;;;;;12300:33:::1;6765:18:::0;12300:16:::1;:33::i;:::-;1490:1;12187:154::o:0;15124:115::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;15201:14:::1;:30:::0;15124:115::o;14266:295::-;1325:7;1352:6;-1:-1:-1;;;;;1352:6:0;245:10;1419:23;1411:68;;;;-1:-1:-1;;;1411:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14356:22:0;::::1;14348:73;;;::::0;-1:-1:-1;;;14348:73:0;;8557:2:1;14348:73:0::1;::::0;::::1;8539:21:1::0;8596:2;8576:18;;;8569:30;8635:34;8615:18;;;8608:62;-1:-1:-1;;;8686:18:1;;;8679:36;8732:19;;14348:73:0::1;8529:228:1::0;14348:73:0::1;14462:5;14432:18;:27;14451:7;1325::::0;1352:6;-1:-1:-1;;;;;1352:6:0;;1279:87;14451:7:::1;-1:-1:-1::0;;;;;14432:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14432:27:0;:35;;-1:-1:-1;;14432:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14478:28:::1;14497:8:::0;14478:18:::1;:28::i;:::-;14547:4;14517:18;:27;14536:7;1325::::0;1352:6;-1:-1:-1;;;;;1352:6:0;;1279:87;14536:7:::1;-1:-1:-1::0;;;;;14517:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14517:27:0;:34;;-1:-1:-1;;14517:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;14266:295:0:o;7854:369::-;-1:-1:-1;;;;;7981:19:0;;7973:68;;;;-1:-1:-1;;;7973:68:0;;12876:2:1;7973:68:0;;;12858:21:1;12915:2;12895:18;;;12888:30;12954:34;12934:18;;;12927:62;-1:-1:-1;;;13005:18:1;;;12998:34;13049:19;;7973:68:0;12848:226:1;7973:68:0;-1:-1:-1;;;;;8060:21:0;;8052:68;;;;-1:-1:-1;;;8052:68:0;;8964:2:1;8052:68:0;;;8946:21:1;9003:2;8983:18;;;8976:30;9042:34;9022:18;;;9015:62;-1:-1:-1;;;9093:18:1;;;9086:32;9135:19;;8052:68:0;8936:224:1;8052:68:0;-1:-1:-1;;;;;8131:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8183:32;;13225:25:1;;;8183:32:0;;13198:18:1;8183:32:0;;;;;;;7854:369;;;:::o;8231:2440::-;-1:-1:-1;;;;;8353:18:0;;8345:68;;;;-1:-1:-1;;;8345:68:0;;12066:2:1;8345:68:0;;;12048:21:1;12105:2;12085:18;;;12078:30;12144:34;12124:18;;;12117:62;-1:-1:-1;;;12195:18:1;;;12188:35;12240:19;;8345:68:0;12038:227:1;8345:68:0;-1:-1:-1;;;;;8432:16:0;;8424:64;;;;-1:-1:-1;;;8424:64:0;;7796:2:1;8424:64:0;;;7778:21:1;7835:2;7815:18;;;7808:30;7874:34;7854:18;;;7847:62;-1:-1:-1;;;7925:18:1;;;7918:33;7968:19;;8424:64:0;7768:225:1;8424:64:0;8516:1;8507:6;:10;8499:64;;;;-1:-1:-1;;;8499:64:0;;11656:2:1;8499:64:0;;;11638:21:1;11695:2;11675:18;;;11668:30;11734:34;11714:18;;;11707:62;-1:-1:-1;;;11785:18:1;;;11778:39;11834:19;;8499:64:0;11628:231:1;8499:64:0;-1:-1:-1;;;;;8581:22:0;;;;;;:18;:22;;;;;;;;8580:23;:52;;;;-1:-1:-1;;;;;;8608:24:0;;;;;;:18;:24;;;;;;;;8607:25;8580:52;8576:1381;;;8650:11;;-1:-1:-1;;;8650:11:0;;;;8642:54;;;;-1:-1:-1;;;8642:54:0;;9771:2:1;8642:54:0;;;9753:21:1;9810:2;9790:18;;;9783:30;9849:32;9829:18;;;9822:60;9899:18;;8642:54:0;9743:180:1;8642:54:0;8729:12;;8719:6;:22;;8711:63;;;;-1:-1:-1;;;8711:63:0;;8200:2:1;8711:63:0;;;8182:21:1;8239:2;8219:18;;;8212:30;8278;8258:18;;;8251:58;8326:18;;8711:63:0;8172:178:1;8711:63:0;-1:-1:-1;;;;;8798:10:0;;;;;;:4;:10;;;;;;;;8797:11;:24;;;;-1:-1:-1;;;;;;8813:8:0;;;;;;:4;:8;;;;;;;;8812:9;8797:24;8789:72;;;;-1:-1:-1;;;8789:72:0;;9367:2:1;8789:72:0;;;9349:21:1;9406:2;9386:18;;;9379:30;9445:34;9425:18;;;9418:62;-1:-1:-1;;;9496:18:1;;;9489:33;9539:19;;8789:72:0;9339:225:1;8789:72:0;8887:13;;-1:-1:-1;;;;;8881:19:0;;;8887:13;;8881:19;8878:375;;8926:13;;-1:-1:-1;;;;;8918:21:0;;;8926:13;;8918:21;:38;;;;-1:-1:-1;8943:13:0;;-1:-1:-1;;;8943:13:0;;;;8918:38;8915:217;;;8990:9;8982:18;;;;:7;:18;;;;;;9015:15;;8982:30;;9003:9;8982:30;:::i;:::-;:48;:93;;;;-1:-1:-1;;;;;;9034:11:0;;;;;;:7;:11;;;;;;9060:15;;9034:23;;9048:9;9034:23;:::i;:::-;:41;8982:93;8974:144;;;;-1:-1:-1;;;8974:144:0;;10486:2:1;8974:144:0;;;10468:21:1;10525:2;10505:18;;;10498:30;10564:34;10544:18;;;10537:62;-1:-1:-1;;;10615:18:1;;;10608:36;10661:19;;8974:144:0;10458:228:1;8974:144:0;9183:14;;9174:6;9158:13;9168:2;-1:-1:-1;;;;;6765:18:0;6738:7;6765:18;;;:9;:18;;;;;;;6672:120;9158:13;:22;;;;:::i;:::-;:39;9150:87;;;;-1:-1:-1;;;9150:87:0;;12472:2:1;9150:87:0;;;12454:21:1;12511:2;12491:18;;;12484:30;12550:34;12530:18;;;12523:62;-1:-1:-1;;;12601:18:1;;;12594:33;12644:19;;9150:87:0;12444:225:1;9150:87:0;9318:4;9269:28;6765:18;;;:9;:18;;;;;;9378:19;;9354:43;;;;;9414:138;;9517:19;;9494:42;;9414:138;9572:7;:18;;;;-1:-1:-1;9584:6:0;;-1:-1:-1;;;9584:6:0;;;;9583:7;9572:18;:43;;;;-1:-1:-1;9602:13:0;;-1:-1:-1;;;;;9594:21:0;;;9602:13;;9594:21;;9572:43;:58;;;;-1:-1:-1;9619:11:0;;-1:-1:-1;;;9619:11:0;;;;9572:58;9568:378;;;9651:38;9668:20;9651:16;:38::i;:::-;9779:21;9823:28;;9819:112;;9876:35;9889:21;9876:12;:35::i;:::-;9568:378;;8576:1381;;;-1:-1:-1;;;;;10033:24:0;;9969:12;10033:24;;;:18;:24;;;;;;9984:4;;10033:24;;;:50;;-1:-1:-1;;;;;;10061:22:0;;;;;;:18;:22;;;;;;;;10033:50;10032:102;;;-1:-1:-1;10097:13:0;;-1:-1:-1;;;;;10089:21:0;;;10097:13;;10089:21;;;;:44;;-1:-1:-1;10120:13:0;;-1:-1:-1;;;;;10114:19:0;;;10120:13;;10114:19;;10089:44;10028:503;;;-1:-1:-1;10161:5:0;10028:503;;;10244:13;;-1:-1:-1;;;;;10236:21:0;;;10244:13;;10236:21;:55;;;;-1:-1:-1;10275:15:0;;-1:-1:-1;;;;;10261:30:0;;;10275:15;;10261:30;;10236:55;10233:117;;;10322:12;;10312:7;:22;10233:117;10409:13;;-1:-1:-1;;;;;10403:19:0;;;10409:13;;10403:19;:55;;;;-1:-1:-1;10442:15:0;;-1:-1:-1;;;;;10426:32:0;;;10442:15;;10426:32;;10403:55;10399:119;;;10489:13;;10479:7;:23;10399:119;10546:9;10538:18;;;;:7;:18;;;;;;10559:15;10538:36;;;;-1:-1:-1;;;;;10582:11:0;;;;;;:29;10622:41;10637:4;10590:2;10647:6;10655:7;10622:14;:41::i;:::-;8231:2440;;;;:::o;2395:224::-;2515:7;2551:12;2543:6;;;;2535:29;;;;-1:-1:-1;;;2535:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2575:9:0;2587:5;2591:1;2587;:5;:::i;:::-;2575:17;2395:224;-1:-1:-1;;;;;2395:224:0:o;13566:330::-;13696:53;;;;;;;;;;;-1:-1:-1;;;13696:53:0;;;;;;;;-1:-1:-1;;;;;13696:17:0;;13659:4;13696:17;;;:9;:17;;;;;;;:53;;13718:6;;13696:21;:53::i;:::-;-1:-1:-1;;;;;13676:17:0;;;;;;;:9;:17;;;;;;:73;;;;13783:20;;;;;;;:32;;13808:6;13783:24;:32::i;:::-;-1:-1:-1;;;;;13760:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13831:35;;;;;;;;;;13859:6;13225:25:1;;13213:2;13198:18;;13180:76;13831:35:0;;;;;;;;-1:-1:-1;13884:4:0;13566:330;;;;;:::o;1842:191::-;1916:16;1935:6;;-1:-1:-1;;;;;1952:17:0;;;-1:-1:-1;;;;;;1952:17:0;;;;;;1985:40;;1935:6;;;;;;;1985:40;;1916:16;1985:40;1842:191;;:::o;10679:756::-;5551:6;:13;;-1:-1:-1;;;;5551:13:0;-1:-1:-1;;;5551:13:0;;;;10767:28:::1;10791:3;10767:19;:11:::0;10783:2:::1;10767:15;:19::i;:::-;:23:::0;::::1;:28::i;:::-;10750:45:::0;-1:-1:-1;10799:14:0::1;10816:20;10750:45:::0;10816:11;:20:::1;:::i;:::-;10929:16;::::0;;10943:1:::1;10929:16:::0;;;;;::::1;::::0;;10799:37;;-1:-1:-1;10871:21:0::1;::::0;10847::::1;::::0;10929:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10929:16:0::1;10905:40;;10974:4;10956;10961:1;10956:7;;;;;;-1:-1:-1::0;;;10956:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10956:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11000:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11000:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10956:7;;11000:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10990:4;10995:1;10990:7;;;;;;-1:-1:-1::0;;;10990:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10990:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11065:15:::1;::::0;11033:62:::1;::::0;11050:4:::1;::::0;11065:15:::1;11083:11:::0;11033:8:::1;:62::i;:::-;11106:15;::::0;:191:::1;::::0;-1:-1:-1;;;11106:191:0;;-1:-1:-1;;;;;11106:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;11187:6;;11106:15:::1;::::0;11224:4;;11251::::1;::::0;11271:15:::1;::::0;11106:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11308:17;11328:40;11354:13;11328:21;:25;;:40;;;;:::i;:::-;11308:60:::0;-1:-1:-1;11379:48:0::1;11392:6:::0;11400:26:::1;11422:3;11400:17;11308:60:::0;11414:2:::1;11400:13;:17::i;:26::-;11379:12;:48::i;:::-;-1:-1:-1::0;;5587:6:0;:14;;-1:-1:-1;;;;5587:14:0;;;-1:-1:-1;;;;10679:756:0:o;11443:99::-;11500:17;;:34;;-1:-1:-1;;;;;11500:17:0;;;;:34;;;;;11527:6;;11500:17;:34;:17;:34;11527:6;11500:17;:34;;;;;;;;;;;;;;;;;;;12626:277;12782:7;12777:119;;12792:40;12807:6;12814:9;12825:6;12792:14;:40::i;:::-;;12777:119;;;12850:44;12868:6;12876:9;12887:6;12850:17;:44::i;2064:179::-;2122:7;;2154:5;2158:1;2154;:5;:::i;:::-;2142:17;;2183:1;2178;:6;;2170:46;;;;-1:-1:-1;;;2170:46:0;;10130:2:1;2170:46:0;;;10112:21:1;10169:2;10149:18;;;10142:30;10208:29;10188:18;;;10181:57;10255:18;;2170:46:0;10102:177:1;2170:46:0;2234:1;2064:179;-1:-1:-1;;;2064:179:0:o;2627:246::-;2685:7;2709:6;2705:47;;-1:-1:-1;2739:1:0;2732:8;;2705:47;2762:9;2774:5;2778:1;2774;:5;:::i;:::-;2762:17;-1:-1:-1;2807:1:0;2798:5;2802:1;2762:17;2798:5;:::i;:::-;:10;2790:56;;;;-1:-1:-1;;;2790:56:0;;10893:2:1;2790:56:0;;;10875:21:1;10932:2;10912:18;;;10905:30;10971:34;10951:18;;;10944:62;-1:-1:-1;;;11022:18:1;;;11015:31;11063:19;;2790:56:0;10865:223:1;2881:132:0;2939:7;2966:39;2970:1;2973;2966:39;;;;;;;;;;;;;;;;;:3;:39::i;2251:136::-;2309:7;2336:43;2340:1;2343;2336:43;;;;;;;;;;;;;;;;;:3;:43::i;11550:520::-;11732:15;;11700:62;;11717:4;;-1:-1:-1;;;;;11732:15:0;11750:11;11700:8;:62::i;:::-;11805:15;;:255;;-1:-1:-1;;;11805:255:0;;11877:4;11805:255;;;6289:34:1;6339:18;;;6332:34;;;11805:15:0;6382:18:1;;;6375:34;;;6425:18;;;6418:34;;;6468:19;;;6461:44;12034:15:0;6521:19:1;;;6514:35;-1:-1:-1;;;;;11805:15:0;;;;:31;;11844:9;;6223:19:1;;11805:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13154:405::-;13285:22;13310:24;13319:6;13327;13310:8;:24::i;:::-;13285:49;;13365:53;13387:6;13365:53;;;;;;;;;;;;;-1:-1:-1;;;13365:53:0;;;:9;:17;13375:6;-1:-1:-1;;;;;13365:17:0;-1:-1:-1;;;;;13365:17:0;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;-1:-1:-1;;;;;13345:17:0;;;;;;;:9;:17;;;;;;:73;;;;13452:20;;;;;;;:40;;13477:14;13452:24;:40::i;:::-;-1:-1:-1;;;;;13429:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13508:43;;;;;;;;;;13536:14;13225:25:1;;13213:2;13198:18;;13180:76;13508:43:0;;;;;;;;13154:405;;;;:::o;3021:223::-;3141:7;3176:12;3169:5;3161:28;;;;-1:-1:-1;;;3161:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3200:9:0;3212:5;3216:1;3212;:5;:::i;13902:317::-;13969:7;13989:17;14009:28;14033:3;14009:19;14020:7;;14009:6;:10;;:19;;;;:::i;:28::-;14093:4;14075:24;;;;:9;:24;;;;;;13989:48;;-1:-1:-1;14075:39:0;;13989:48;14075:28;:39::i;:::-;14066:4;14048:24;;;;:9;:24;;;;;;;:66;;;;14130:42;;-1:-1:-1;;;;;14130:42:0;;;;;;;14162:9;13225:25:1;;13213:2;13198:18;;13180:76;14130:42:0;;;;;;;;14190:21;:6;14201:9;14190:10;:21::i;:::-;14183:28;13902:317;-1:-1:-1;;;;13902:317:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:391::-;216:8;226:6;280:3;273:4;265:6;261:17;257:27;247:2;;303:6;295;288:22;247:2;-1:-1:-1;331:20:1;;374:18;363:30;;360:2;;;413:8;403;396:26;360:2;457:4;449:6;445:17;433:29;;517:3;510:4;500:6;497:1;493:14;485:6;481:27;477:38;474:47;471:2;;;534:1;531;524:12;471:2;237:307;;;;;:::o;549:160::-;614:20;;670:13;;663:21;653:32;;643:2;;699:1;696;689:12;714:257;773:6;826:2;814:9;805:7;801:23;797:32;794:2;;;847:6;839;832:22;794:2;891:9;878:23;910:31;935:5;910:31;:::i;976:261::-;1046:6;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1157:9;1151:16;1176:31;1201:5;1176:31;:::i;1242:398::-;1310:6;1318;1371:2;1359:9;1350:7;1346:23;1342:32;1339:2;;;1392:6;1384;1377:22;1339:2;1436:9;1423:23;1455:31;1480:5;1455:31;:::i;:::-;1505:5;-1:-1:-1;1562:2:1;1547:18;;1534:32;1575:33;1534:32;1575:33;:::i;:::-;1627:7;1617:17;;;1329:311;;;;;:::o;1645:466::-;1722:6;1730;1738;1791:2;1779:9;1770:7;1766:23;1762:32;1759:2;;;1812:6;1804;1797:22;1759:2;1856:9;1843:23;1875:31;1900:5;1875:31;:::i;:::-;1925:5;-1:-1:-1;1982:2:1;1967:18;;1954:32;1995:33;1954:32;1995:33;:::i;:::-;1749:362;;2047:7;;-1:-1:-1;;;2101:2:1;2086:18;;;;2073:32;;1749:362::o;2116:325::-;2181:6;2189;2242:2;2230:9;2221:7;2217:23;2213:32;2210:2;;;2263:6;2255;2248:22;2210:2;2307:9;2294:23;2326:31;2351:5;2326:31;:::i;:::-;2376:5;-1:-1:-1;2400:35:1;2431:2;2416:18;;2400:35;:::i;:::-;2390:45;;2200:241;;;;;:::o;2446:325::-;2514:6;2522;2575:2;2563:9;2554:7;2550:23;2546:32;2543:2;;;2596:6;2588;2581:22;2543:2;2640:9;2627:23;2659:31;2684:5;2659:31;:::i;:::-;2709:5;2761:2;2746:18;;;;2733:32;;-1:-1:-1;;;2533:238:1:o;2776:803::-;2898:6;2906;2914;2922;2975:2;2963:9;2954:7;2950:23;2946:32;2943:2;;;2996:6;2988;2981:22;2943:2;3041:9;3028:23;3070:18;3111:2;3103:6;3100:14;3097:2;;;3132:6;3124;3117:22;3097:2;3176:70;3238:7;3229:6;3218:9;3214:22;3176:70;:::i;:::-;3265:8;;-1:-1:-1;3150:96:1;-1:-1:-1;3353:2:1;3338:18;;3325:32;;-1:-1:-1;3369:16:1;;;3366:2;;;3403:6;3395;3388:22;3366:2;;3447:72;3511:7;3500:8;3489:9;3485:24;3447:72;:::i;:::-;2933:646;;;;-1:-1:-1;3538:8:1;-1:-1:-1;;;;2933:646:1:o;3584:1177::-;3668:6;3699:2;3742;3730:9;3721:7;3717:23;3713:32;3710:2;;;3763:6;3755;3748:22;3710:2;3808:9;3795:23;3837:18;3878:2;3870:6;3867:14;3864:2;;;3899:6;3891;3884:22;3864:2;3942:6;3931:9;3927:22;3917:32;;3987:7;3980:4;3976:2;3972:13;3968:27;3958:2;;4014:6;4006;3999:22;3958:2;4055;4042:16;4077:2;4073;4070:10;4067:2;;;4083:18;;:::i;:::-;4129:2;4126:1;4122:10;4161:2;4155:9;4224:2;4220:7;4215:2;4211;4207:11;4203:25;4195:6;4191:38;4279:6;4267:10;4264:22;4259:2;4247:10;4244:18;4241:46;4238:2;;;4290:18;;:::i;:::-;4326:2;4319:22;4376:18;;;4410:15;;;;-1:-1:-1;4445:11:1;;;4475;;;4471:20;;4468:33;-1:-1:-1;4465:2:1;;;4519:6;4511;4504:22;4465:2;4546:6;4537:15;;4561:169;4575:2;4572:1;4569:9;4561:169;;;4632:23;4651:3;4632:23;:::i;:::-;4620:36;;4593:1;4586:9;;;;;4676:12;;;;4708;;4561:169;;;-1:-1:-1;4749:6:1;3679:1082;-1:-1:-1;;;;;;;;3679:1082:1:o;4766:190::-;4822:6;4875:2;4863:9;4854:7;4850:23;4846:32;4843:2;;;4896:6;4888;4881:22;4843:2;4924:26;4940:9;4924:26;:::i;4961:190::-;5020:6;5073:2;5061:9;5052:7;5048:23;5044:32;5041:2;;;5094:6;5086;5079:22;5041:2;-1:-1:-1;5122:23:1;;5031:120;-1:-1:-1;5031:120:1:o;5156:258::-;5224:6;5232;5285:2;5273:9;5264:7;5260:23;5256:32;5253:2;;;5306:6;5298;5291:22;5253:2;-1:-1:-1;;5334:23:1;;;5404:2;5389:18;;;5376:32;;-1:-1:-1;5243:171:1:o;5419:316::-;5507:6;5515;5523;5576:2;5564:9;5555:7;5551:23;5547:32;5544:2;;;5597:6;5589;5582:22;5544:2;5631:9;5625:16;5615:26;;5681:2;5670:9;5666:18;5660:25;5650:35;;5725:2;5714:9;5710:18;5704:25;5694:35;;5534:201;;;;;:::o;6986:603::-;7098:4;7127:2;7156;7145:9;7138:21;7188:6;7182:13;7231:6;7226:2;7215:9;7211:18;7204:34;7256:4;7269:140;7283:6;7280:1;7277:13;7269:140;;;7378:14;;;7374:23;;7368:30;7344:17;;;7363:2;7340:26;7333:66;7298:10;;7269:140;;;7427:6;7424:1;7421:13;7418:2;;;7497:4;7492:2;7483:6;7472:9;7468:22;7464:31;7457:45;7418:2;-1:-1:-1;7573:2:1;7552:15;-1:-1:-1;;7548:29:1;7533:45;;;;7580:2;7529:54;;7107:482;-1:-1:-1;;;7107:482:1:o;11093:356::-;11295:2;11277:21;;;11314:18;;;11307:30;11373:34;11368:2;11353:18;;11346:62;11440:2;11425:18;;11267:182::o;13261:983::-;13523:4;13571:3;13560:9;13556:19;13602:6;13591:9;13584:25;13628:2;13666:6;13661:2;13650:9;13646:18;13639:34;13709:3;13704:2;13693:9;13689:18;13682:31;13733:6;13768;13762:13;13799:6;13791;13784:22;13837:3;13826:9;13822:19;13815:26;;13876:2;13868:6;13864:15;13850:29;;13897:4;13910:195;13924:6;13921:1;13918:13;13910:195;;;13989:13;;-1:-1:-1;;;;;13985:39:1;13973:52;;14080:15;;;;14045:12;;;;14021:1;13939:9;13910:195;;;-1:-1:-1;;;;;;;14161:32:1;;;;14156:2;14141:18;;14134:60;-1:-1:-1;;;14225:3:1;14210:19;14203:35;14122:3;13532:712;-1:-1:-1;;;13532:712:1:o;14438:128::-;14478:3;14509:1;14505:6;14502:1;14499:13;14496:2;;;14515:18;;:::i;:::-;-1:-1:-1;14551:9:1;;14486:80::o;14571:217::-;14611:1;14637;14627:2;;-1:-1:-1;;;14662:31:1;;14716:4;14713:1;14706:15;14744:4;14669:1;14734:15;14627:2;-1:-1:-1;14773:9:1;;14617:171::o;14793:168::-;14833:7;14899:1;14895;14891:6;14887:14;14884:1;14881:21;14876:1;14869:9;14862:17;14858:45;14855:2;;;14906:18;;:::i;:::-;-1:-1:-1;14946:9:1;;14845:116::o;14966:125::-;15006:4;15034:1;15031;15028:8;15025:2;;;15039:18;;:::i;:::-;-1:-1:-1;15076:9:1;;15015:76::o;15096:135::-;15135:3;-1:-1:-1;;15156:17:1;;15153:2;;;15176:18;;:::i;:::-;-1:-1:-1;15223:1:1;15212:13;;15143:88::o;15236:127::-;15297:10;15292:3;15288:20;15285:1;15278:31;15328:4;15325:1;15318:15;15352:4;15349:1;15342:15;15368:127;15429:10;15424:3;15420:20;15417:1;15410:31;15460:4;15457:1;15450:15;15484:4;15481:1;15474:15;15500:131;-1:-1:-1;;;;;15575:31:1;;15565:42;;15555:2;;15621:1;15618;15611:12

Swarm Source

ipfs://45a32daeab8eaddbdff55880c26867c3f7fad2ad8267fca99093deb1d2bafbb2

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.