ETH Price: $2,525.00 (+2.60%)

Contract

0x5360D3B6B6Bc50F33FcA85452b786f47FB1Fa1C5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve175097022023-06-18 22:42:35436 days ago1687128155IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0006241213.40277952
Approve173009162023-05-20 13:25:11466 days ago1684589111IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0015657733.81594967
Approve171909532023-05-05 0:45:35481 days ago1683247535IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.00467673100.43023328
Approve171893542023-05-04 19:23:23482 days ago1683228203IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.004332893.57497827
Approve171890252023-05-04 18:17:11482 days ago1683224231IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.00512785109.97608933
Approve171888872023-05-04 17:49:23482 days ago1683222563IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.00508234109
Approve171855722023-05-04 6:37:23482 days ago1683182243IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0030405465.20998939
Approve171847222023-05-04 3:45:59482 days ago1683171959IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0027130758.59396075
Approve171842602023-05-04 2:12:23482 days ago1683166343IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0027830460.10508383
Approve171836332023-05-04 0:05:23482 days ago1683158723IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0028226860.61566616
Approve171830812023-05-03 22:13:35483 days ago1683152015IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0043219892.8122169
Approve171827712023-05-03 21:10:47483 days ago1683148247IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0035628976.51125606
Approve171821982023-05-03 19:14:35483 days ago1683141275IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0044146294.80151072
Approve171820332023-05-03 18:40:59483 days ago1683139259IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.00593468128.17065288
Approve171818872023-05-03 18:11:47483 days ago1683137507IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0041544489.0994507
Approve171818812023-05-03 18:10:35483 days ago1683137435IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0041500889.12074502
Approve171818662023-05-03 18:07:35483 days ago1683137255IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0040112586.51848786
Approve171816672023-05-03 17:27:35483 days ago1683134855IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0038029982.13276833
Approve171813112023-05-03 16:15:35483 days ago1683130535IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0036105377.43449548
Approve171812722023-05-03 16:07:47483 days ago1683130067IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0033306271.96828177
Approve171810002023-05-03 15:12:47483 days ago1683126767IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0037101679.67379283
Approve171809282023-05-03 14:58:23483 days ago1683125903IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0039052384.34094315
Approve171809182023-05-03 14:56:23483 days ago1683125783IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0039132984.51498516
Approve171808612023-05-03 14:44:47483 days ago1683125087IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0036218277.77660263
Approve171808582023-05-03 14:44:11483 days ago1683125051IN
0x5360D3B6...7FB1Fa1C5
0 ETH0.0036722779.30954934
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
171847362023-05-04 3:48:47482 days ago1683172127
0x5360D3B6...7FB1Fa1C5
0.02646925 ETH
171847362023-05-04 3:48:47482 days ago1683172127
0x5360D3B6...7FB1Fa1C5
0.02646925 ETH
171818572023-05-03 18:05:47483 days ago1683137147
0x5360D3B6...7FB1Fa1C5
0.03874624 ETH
171818572023-05-03 18:05:47483 days ago1683137147
0x5360D3B6...7FB1Fa1C5
0.03874624 ETH
171810962023-05-03 15:32:23483 days ago1683127943
0x5360D3B6...7FB1Fa1C5
0.03355839 ETH
171810962023-05-03 15:32:23483 days ago1683127943
0x5360D3B6...7FB1Fa1C5
0.03355839 ETH
171809212023-05-03 14:56:59483 days ago1683125819
0x5360D3B6...7FB1Fa1C5
0.04704293 ETH
171809212023-05-03 14:56:59483 days ago1683125819
0x5360D3B6...7FB1Fa1C5
0.04704293 ETH
171807972023-05-03 14:30:59483 days ago1683124259
0x5360D3B6...7FB1Fa1C5
0.0697654 ETH
171807972023-05-03 14:30:59483 days ago1683124259
0x5360D3B6...7FB1Fa1C5
0.0697654 ETH
171806762023-05-03 14:05:35483 days ago1683122735
0x5360D3B6...7FB1Fa1C5
0.04985152 ETH
171806762023-05-03 14:05:35483 days ago1683122735
0x5360D3B6...7FB1Fa1C5
0.04985152 ETH
171806382023-05-03 13:57:47483 days ago1683122267
0x5360D3B6...7FB1Fa1C5
0.05632399 ETH
171806382023-05-03 13:57:47483 days ago1683122267
0x5360D3B6...7FB1Fa1C5
0.05632399 ETH
171806042023-05-03 13:50:59483 days ago1683121859
0x5360D3B6...7FB1Fa1C5
0.08402238 ETH
171806042023-05-03 13:50:59483 days ago1683121859
0x5360D3B6...7FB1Fa1C5
0.08402238 ETH
171805852023-05-03 13:46:59483 days ago1683121619
0x5360D3B6...7FB1Fa1C5
0.0748663 ETH
171805852023-05-03 13:46:59483 days ago1683121619
0x5360D3B6...7FB1Fa1C5
0.0748663 ETH
171805292023-05-03 13:35:47483 days ago1683120947
0x5360D3B6...7FB1Fa1C5
0.08631183 ETH
171805292023-05-03 13:35:47483 days ago1683120947
0x5360D3B6...7FB1Fa1C5
0.08631183 ETH
171805142023-05-03 13:32:47483 days ago1683120767
0x5360D3B6...7FB1Fa1C5
0.09584918 ETH
171805142023-05-03 13:32:47483 days ago1683120767
0x5360D3B6...7FB1Fa1C5
0.09584918 ETH
171805002023-05-03 13:29:59483 days ago1683120599
0x5360D3B6...7FB1Fa1C5
0.06610425 ETH
171805002023-05-03 13:29:59483 days ago1683120599
0x5360D3B6...7FB1Fa1C5
0.06610425 ETH
171804912023-05-03 13:28:11483 days ago1683120491
0x5360D3B6...7FB1Fa1C5
0.10922721 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TACO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
// Our token is hotter than a habanero and cooler than a cucumber, with a spicy blend of decentralized finance.
//https://taco-erc.com/
//https://twitter.com/tacotokenerc
//https://t.me/tacotokenportal

pragma solidity ^0.8.16;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address internal _owner;
    address private _previousOwner;

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

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

    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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

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

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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

interface IUniswapV2Pair {
    function factory() external view returns (address);
}

interface IUniswapV2Router01 {
    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);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract TACO is ERC20 {
    using SafeMath for uint256;

    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isExcludedFromMaxWallet;
    mapping(address => bool) private _isExcludedFromMaxTnxLimit;

    address public marketingWallet;
    address constant _burnAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public buyFee = 25;
    uint256 public sellFee = 40;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool inSwapAndLiquify;
    bool public swapAndSendFeesEnabled = true;
    bool public tradingEnabled = false;
    uint256 public numTokensSellToSendFees;
    uint256 public maxWalletBalance;
    uint256 public MaxTxAmt;

    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event swapAndSendFeesEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() ERC20("TACO", "TACO") {
        numTokensSellToSendFees = 200000 * 10 ** decimals();
        marketingWallet = 0x1A66F558866A06B07bF4a1f4a35b937F71Bc00F5;

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

        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;

        _isExcludedFromMaxWallet[owner()] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[_burnAddress] = true;
        _isExcludedFromMaxWallet[marketingWallet] = true;

        _isExcludedFromMaxTnxLimit[owner()] = true;
        _isExcludedFromMaxTnxLimit[address(this)] = true;
        _isExcludedFromMaxTnxLimit[marketingWallet] = true;

        _mint(owner(), 10000000 * 10 ** decimals());
        maxWalletBalance = (totalSupply() * 3) / 100;
        MaxTxAmt = (totalSupply() * 2) / 100;
    }

    function burn(uint tokens) external onlyOwner {
        _burn(msg.sender, tokens * 10 ** decimals());
    }

    function includeAndExcludeFromFee(
        address account,
        bool value
    ) public onlyOwner {
        _isExcludedFromFee[account] = value;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function enableTrading() external onlyOwner {
        tradingEnabled = true;
    }

    function setBuyAndSellFee(
        uint256 bFee,
        uint256 sFee
    ) external onlyOwner {
        buyFee = bFee;
        sellFee = sFee;
    }

    function setmarketingWallet(address _addr) external onlyOwner {
        marketingWallet = _addr;
    }

    function setMaxBalance(uint256 maxBalancePercent) external onlyOwner {
        maxWalletBalance = maxBalancePercent * 10 ** decimals();
    }

    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner {
        MaxTxAmt = maxTxAmount * 10 ** decimals();
    }

    function setNumTokensSellToSendFees(uint256 amount) external onlyOwner {
        numTokensSellToSendFees = amount * 10 ** decimals();
    }

    function setRouterAddress(address newRouter) external onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouter);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
    }

    function setswapAndSendFeesEnabled(bool _enabled) external onlyOwner {
        swapAndSendFeesEnabled = _enabled;
        emit swapAndSendFeesEnabledUpdated(_enabled);
    }

    receive() external payable {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        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 (from != owner() && !tradingEnabled) {
            require(tradingEnabled, "Trading is not enabled yet");
        }

        if (from != owner() && to != owner())
            require(
                _isExcludedFromMaxTnxLimit[from] ||
                    _isExcludedFromMaxTnxLimit[to] ||
                    amount <= MaxTxAmt,
                "ERC20: Transfer amount exceeds the MaxTxAmt."
            );

        if (
            from != owner() &&
            to != address(this) &&
            to != _burnAddress &&
            to != uniswapV2Pair
        ) {
            uint256 currentBalance = balanceOf(to);
            require(
                _isExcludedFromMaxWallet[to] ||
                    (currentBalance + amount <= maxWalletBalance),
                "ERC20: Reached Max wallet holding"
            );
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool overMinTokenBalance = contractTokenBalance >=
            numTokensSellToSendFees;
        if (
            overMinTokenBalance &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndSendFeesEnabled
        ) {
            contractTokenBalance = numTokensSellToSendFees;
            swapBack(contractTokenBalance);
        }

        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            super._transfer(from, to, amount);
            takeFee = false;
        } else {
            if (from == uniswapV2Pair) {
                uint256 marketingTokens = amount.mul(buyFee).div(100);
                amount = amount.sub(marketingTokens);
                super._transfer(from, address(this), marketingTokens);
                super._transfer(from, to, amount);
            } else if (to == uniswapV2Pair) {
                uint256 marketingTokens = amount.mul(sellFee).div(
                    100
                );
                amount = amount.sub(marketingTokens);
                super._transfer(from, address(this), marketingTokens);
                super._transfer(from, to, amount);
            } else {
                super._transfer(from, to, amount);
            }
        }
    }

    function swapBack(uint256 contractBalance) private lockTheSwap {
        uint256 marketingTokens = contractBalance.mul(sellFee).div(
            100
        );
        uint256 totalTokensToSwap = marketingTokens;
        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }
        bool success;
        swapTokensForEth(contractBalance);
        uint256 ethBalance = address(this).balance;
        uint256 ethForMarketing = (ethBalance * marketingTokens) /
            (totalTokensToSwap);
        (success, ) = address(marketingWallet).call{
            value: ethForMarketing
        }("");
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
}

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":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndSendFeesEnabledUpdated","type":"event"},{"inputs":[],"name":"MaxTxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"tokens","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToSendFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bFee","type":"uint256"},{"internalType":"uint256","name":"sFee","type":"uint256"}],"name":"setBuyAndSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBalancePercent","type":"uint256"}],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumTokensSellToSendFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setmarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setswapAndSendFeesEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndSendFeesEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"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"}]

60806040526019600b556028600c55600e805461ffff60a81b1916600160a81b1790553480156200002f57600080fd5b50604051806040016040528060048152602001635441434f60e01b815250604051806040016040528060048152602001635441434f60e01b8152506200007a620004c060201b60201c565b600080546001600160a01b0319166001600160a01b039290921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36005620000cf838262000674565b506006620000de828262000674565b50620000eb915050601290565b620000f890600a62000853565b620001079062030d4062000864565b600f55600a80546001600160a01b031916731a66f558866a06b07bf4a1f4a35b937f71bc00f51790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa91906200087e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e91906200087e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029291906200087e565b600e80546001600160a01b03199081166001600160a01b0393841617909155600d8054909116918316919091179055600160076000620002cf3390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007909352818320805485166001908117909155600a549091168352908220805490931681179092556008906200033f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260089093528183208054851660019081179091557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342998054861682179055600a54909116835290822080549093168117909255600990620003d86000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155600a5490911683529120805490921617905562000469620004466000546001600160a01b031690565b620004546012600a62000853565b62000463906298968062000864565b620004c4565b60646200047560045490565b6200048290600362000864565b6200048e9190620008b0565b60105560646200049d60045490565b620004aa90600262000864565b620004b69190620008b0565b60115550620008e9565b3390565b6001600160a01b0382166200051f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b6004546200052e9082620005b9565b6004556001600160a01b038216600090815260026020526040902054620005569082620005b9565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620005a89085815260200190565b60405180910390a35050565b505050565b6000620005c78284620008d3565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005fb57607f821691505b6020821081036200061c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005b457600081815260208120601f850160051c810160208610156200064b5750805b601f850160051c820191505b818110156200066c5782815560010162000657565b505050505050565b81516001600160401b03811115620006905762000690620005d0565b620006a881620006a18454620005e6565b8462000622565b602080601f831160018114620006e05760008415620006c75750858301515b600019600386901b1c1916600185901b1785556200066c565b600085815260208120601f198616915b828110156200071157888601518255948401946001909101908401620006f0565b5085821015620007305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007975781600019048211156200077b576200077b62000740565b808516156200078957918102915b93841c93908002906200075b565b509250929050565b600082620007b057506001620005ca565b81620007bf57506000620005ca565b8160018114620007d85760028114620007e35762000803565b6001915050620005ca565b60ff841115620007f757620007f762000740565b50506001821b620005ca565b5060208310610133831016604e8410600b841016171562000828575081810a620005ca565b62000834838362000756565b80600019048211156200084b576200084b62000740565b029392505050565b6000620005c760ff8416836200079f565b8082028115828204841417620005ca57620005ca62000740565b6000602082840312156200089157600080fd5b81516001600160a01b0381168114620008a957600080fd5b9392505050565b600082620008ce57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005ca57620005ca62000740565b611de980620008f96000396000f3fe6080604052600436106102085760003560e01c806353cae9cf11610118578063a346304f116100a0578063bbde77c11161006f578063bbde77c1146105ea578063da7e2c7f14610600578063dd62ed3e14610620578063ec28438a14610666578063f2fde38b1461068657600080fd5b8063a346304f14610574578063a457c2d714610594578063a9059cbb146105b4578063bb5020bf146105d457600080fd5b806384e2b88d116100e757806384e2b88d146104ec5780638a8c523c1461050c5780638da5cb5b1461052157806395d89b411461053f5780639d51d9b71461055457600080fd5b806353cae9cf1461046b57806370a0823114610481578063715018a6146104b757806375f0a874146104cc57600080fd5b80632b14ca561161019b57806342966c681161016a57806342966c68146103bb57806347062402146103db57806349bd5a5e146103f15780634ada218b146104115780635342acb41461043257600080fd5b80632b14ca5614610349578063313ce5671461035f578063395093511461037b57806341cb87fc1461039b57600080fd5b80631694505e116101d75780631694505e146102b257806318160ddd146102ea578063224611731461030957806323b872dd1461032957600080fd5b806302a8b0411461021457806306fdde0314610236578063095ea7b314610261578063148d21611461029157600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061023461022f36600461186a565b6106a6565b005b34801561024257600080fd5b5061024b610731565b6040516102589190611885565b60405180910390f35b34801561026d57600080fd5b5061028161027c3660046118e8565b6107c3565b6040519015158152602001610258565b34801561029d57600080fd5b50600e5461028190600160a81b900460ff1681565b3480156102be57600080fd5b50600d546102d2906001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102f657600080fd5b506004545b604051908152602001610258565b34801561031557600080fd5b50610234610324366004611914565b6107da565b34801561033557600080fd5b50610281610344366004611931565b610826565b34801561035557600080fd5b506102fb600c5481565b34801561036b57600080fd5b5060405160128152602001610258565b34801561038757600080fd5b506102816103963660046118e8565b61088f565b3480156103a757600080fd5b506102346103b6366004611914565b6108c5565b3480156103c757600080fd5b506102346103d6366004611972565b610a6a565b3480156103e757600080fd5b506102fb600b5481565b3480156103fd57600080fd5b50600e546102d2906001600160a01b031681565b34801561041d57600080fd5b50600e5461028190600160b01b900460ff1681565b34801561043e57600080fd5b5061028161044d366004611914565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561047757600080fd5b506102fb600f5481565b34801561048d57600080fd5b506102fb61049c366004611914565b6001600160a01b031660009081526002602052604090205490565b3480156104c357600080fd5b50610234610ab6565b3480156104d857600080fd5b50600a546102d2906001600160a01b031681565b3480156104f857600080fd5b50610234610507366004611972565b610b2a565b34801561051857600080fd5b50610234610b70565b34801561052d57600080fd5b506000546001600160a01b03166102d2565b34801561054b57600080fd5b5061024b610baf565b34801561056057600080fd5b5061023461056f366004611972565b610bbe565b34801561058057600080fd5b5061023461058f36600461198b565b610c04565b3480156105a057600080fd5b506102816105af3660046118e8565b610c39565b3480156105c057600080fd5b506102816105cf3660046118e8565b610c88565b3480156105e057600080fd5b506102fb60115481565b3480156105f657600080fd5b506102fb60105481565b34801561060c57600080fd5b5061023461061b3660046119ad565b610c95565b34801561062c57600080fd5b506102fb61063b3660046119e2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067257600080fd5b50610234610681366004611972565b610cea565b34801561069257600080fd5b506102346106a1366004611914565b610d30565b6000546001600160a01b031633146106d95760405162461bcd60e51b81526004016106d090611a1b565b60405180910390fd5b600e8054821515600160a81b0260ff60a81b199091161790556040517f95104a55e36dd507aac6f3a5211027febb09c940366b18700bc6e6cedf67426b9061072690831515815260200190565b60405180910390a150565b60606005805461074090611a50565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90611a50565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b5050505050905090565b60006107d0338484610e1a565b5060015b92915050565b6000546001600160a01b031633146108045760405162461bcd60e51b81526004016106d090611a1b565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610833848484610f3f565b610885843361088085604051806060016040528060288152602001611d67602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906113b5565b610e1a565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107d091859061088090866113e1565b6000546001600160a01b031633146108ef5760405162461bcd60e51b81526004016106d090611a1b565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190611a8a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611a8a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190611a8a565b600e80546001600160a01b039283166001600160a01b031991821617909155600d805493909216921691909117905550565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016106d090611a1b565b610ab333610aa46012600a611ba1565b610aae9084611bb0565b6113f4565b50565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016106d090611a1b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b545760405162461bcd60e51b81526004016106d090611a1b565b610b606012600a611ba1565b610b6a9082611bb0565b600f5550565b6000546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016106d090611a1b565b600e805460ff60b01b1916600160b01b179055565b60606006805461074090611a50565b6000546001600160a01b03163314610be85760405162461bcd60e51b81526004016106d090611a1b565b610bf46012600a611ba1565b610bfe9082611bb0565b60105550565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016106d090611a1b565b600b91909155600c55565b60006107d0338461088085604051806060016040528060258152602001611d8f602591393360009081526003602090815260408083206001600160a01b038d16845290915290205491906113b5565b60006107d0338484610f3f565b6000546001600160a01b03163314610cbf5760405162461bcd60e51b81526004016106d090611a1b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d145760405162461bcd60e51b81526004016106d090611a1b565b610d206012600a611ba1565b610d2a9082611bb0565b60115550565b6000546001600160a01b03163314610d5a5760405162461bcd60e51b81526004016106d090611a1b565b6001600160a01b038116610dbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106d0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d0565b6001600160a01b038216610edd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f655760405162461bcd60e51b81526004016106d090611bc7565b6001600160a01b038216610f8b5760405162461bcd60e51b81526004016106d090611c0c565b60008111610fed5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106d0565b6000546001600160a01b038481169116148015906110155750600e54600160b01b900460ff16155b1561107357600e54600160b01b900460ff166110735760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016106d0565b6000546001600160a01b0384811691161480159061109f57506000546001600160a01b03838116911614155b15611151576001600160a01b03831660009081526009602052604090205460ff16806110e357506001600160a01b03821660009081526009602052604090205460ff165b806110f057506011548111155b6111515760405162461bcd60e51b815260206004820152602c60248201527f45524332303a205472616e7366657220616d6f756e742065786365656473207460448201526b34329026b0bc2a3c20b6ba1760a11b60648201526084016106d0565b6000546001600160a01b0384811691161480159061117857506001600160a01b0382163014155b801561118f57506001600160a01b03821661dead14155b80156111a95750600e546001600160a01b03838116911614155b15611244576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff16806111ec57506010546111e98383611c4f565b11155b6112425760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016106d0565b505b30600090815260026020526040902054600f54811080159081906112725750600e54600160a01b900460ff16155b801561128c5750600e546001600160a01b03868116911614155b80156112a15750600e54600160a81b900460ff165b156112b457600f5491506112b4826114ff565b6001600160a01b03851660009081526007602052604090205460019060ff16806112f657506001600160a01b03851660009081526007602052604090205460ff165b1561130e576113068686866115d3565b5060006113ad565b600e546001600160a01b03908116908716036113705760006113466064611340600b54886116df90919063ffffffff16565b906116eb565b905061135285826116f7565b945061135f8730836115d3565b61136a8787876115d3565b506113ad565b600e546001600160a01b03908116908616036113a25760006113466064611340600c54886116df90919063ffffffff16565b6113ad8686866115d3565b505050505050565b600081848411156113d95760405162461bcd60e51b81526004016106d09190611885565b505050900390565b60006113ed8284611c4f565b9392505050565b6001600160a01b0382166114545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106d0565b61149181604051806060016040528060228152602001611d1f602291396001600160a01b03851660009081526002602052604090205491906113b5565b6001600160a01b0383166000908152600260205260409020556004546114b790826116f7565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600e805460ff60a01b1916600160a01b179055600c5460009061152a906064906113409085906116df565b905080821580611538575080155b156115445750506115c3565b600061154f84611703565b4760008361155d8684611bb0565b6115679190611c62565b600a546040519192506001600160a01b0316908290600081818185875af1925050503d80600081146115b5576040519150601f19603f3d011682016040523d82523d6000602084013e6115ba565b606091505b50505050505050505b50600e805460ff60a01b19169055565b6001600160a01b0383166115f95760405162461bcd60e51b81526004016106d090611bc7565b6001600160a01b03821661161f5760405162461bcd60e51b81526004016106d090611c0c565b61165c81604051806060016040528060268152602001611d41602691396001600160a01b03861660009081526002602052604090205491906113b5565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461168b90826113e1565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f329085815260200190565b60006113ed8284611bb0565b60006113ed8284611c62565b60006113ed8284611c84565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061173857611738611c97565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b59190611a8a565b816001815181106117c8576117c8611c97565b6001600160a01b039283166020918202929092010152600d546117ee9130911684610e1a565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611827908590600090869030904290600401611cad565b600060405180830381600087803b15801561184157600080fd5b505af11580156113ad573d6000803e3d6000fd5b8035801515811461186557600080fd5b919050565b60006020828403121561187c57600080fd5b6113ed82611855565b600060208083528351808285015260005b818110156118b257858101830151858201604001528201611896565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ab357600080fd5b600080604083850312156118fb57600080fd5b8235611906816118d3565b946020939093013593505050565b60006020828403121561192657600080fd5b81356113ed816118d3565b60008060006060848603121561194657600080fd5b8335611951816118d3565b92506020840135611961816118d3565b929592945050506040919091013590565b60006020828403121561198457600080fd5b5035919050565b6000806040838503121561199e57600080fd5b50508035926020909101359150565b600080604083850312156119c057600080fd5b82356119cb816118d3565b91506119d960208401611855565b90509250929050565b600080604083850312156119f557600080fd5b8235611a00816118d3565b91506020830135611a10816118d3565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611a6457607f821691505b602082108103611a8457634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a9c57600080fd5b81516113ed816118d3565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611af8578160001904821115611ade57611ade611aa7565b80851615611aeb57918102915b93841c9390800290611ac2565b509250929050565b600082611b0f575060016107d4565b81611b1c575060006107d4565b8160018114611b325760028114611b3c57611b58565b60019150506107d4565b60ff841115611b4d57611b4d611aa7565b50506001821b6107d4565b5060208310610133831016604e8410600b8410161715611b7b575081810a6107d4565b611b858383611abd565b8060001904821115611b9957611b99611aa7565b029392505050565b60006113ed60ff841683611b00565b80820281158282048414176107d4576107d4611aa7565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808201808211156107d4576107d4611aa7565b600082611c7f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107d4576107d4611aa7565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cfd5784516001600160a01b031683529383019391830191600101611cd8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220219dea39f82b38eeff73f8112df43a14691a22ba1aa49c311344db8ac0a7e39b64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102085760003560e01c806353cae9cf11610118578063a346304f116100a0578063bbde77c11161006f578063bbde77c1146105ea578063da7e2c7f14610600578063dd62ed3e14610620578063ec28438a14610666578063f2fde38b1461068657600080fd5b8063a346304f14610574578063a457c2d714610594578063a9059cbb146105b4578063bb5020bf146105d457600080fd5b806384e2b88d116100e757806384e2b88d146104ec5780638a8c523c1461050c5780638da5cb5b1461052157806395d89b411461053f5780639d51d9b71461055457600080fd5b806353cae9cf1461046b57806370a0823114610481578063715018a6146104b757806375f0a874146104cc57600080fd5b80632b14ca561161019b57806342966c681161016a57806342966c68146103bb57806347062402146103db57806349bd5a5e146103f15780634ada218b146104115780635342acb41461043257600080fd5b80632b14ca5614610349578063313ce5671461035f578063395093511461037b57806341cb87fc1461039b57600080fd5b80631694505e116101d75780631694505e146102b257806318160ddd146102ea578063224611731461030957806323b872dd1461032957600080fd5b806302a8b0411461021457806306fdde0314610236578063095ea7b314610261578063148d21611461029157600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061023461022f36600461186a565b6106a6565b005b34801561024257600080fd5b5061024b610731565b6040516102589190611885565b60405180910390f35b34801561026d57600080fd5b5061028161027c3660046118e8565b6107c3565b6040519015158152602001610258565b34801561029d57600080fd5b50600e5461028190600160a81b900460ff1681565b3480156102be57600080fd5b50600d546102d2906001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102f657600080fd5b506004545b604051908152602001610258565b34801561031557600080fd5b50610234610324366004611914565b6107da565b34801561033557600080fd5b50610281610344366004611931565b610826565b34801561035557600080fd5b506102fb600c5481565b34801561036b57600080fd5b5060405160128152602001610258565b34801561038757600080fd5b506102816103963660046118e8565b61088f565b3480156103a757600080fd5b506102346103b6366004611914565b6108c5565b3480156103c757600080fd5b506102346103d6366004611972565b610a6a565b3480156103e757600080fd5b506102fb600b5481565b3480156103fd57600080fd5b50600e546102d2906001600160a01b031681565b34801561041d57600080fd5b50600e5461028190600160b01b900460ff1681565b34801561043e57600080fd5b5061028161044d366004611914565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561047757600080fd5b506102fb600f5481565b34801561048d57600080fd5b506102fb61049c366004611914565b6001600160a01b031660009081526002602052604090205490565b3480156104c357600080fd5b50610234610ab6565b3480156104d857600080fd5b50600a546102d2906001600160a01b031681565b3480156104f857600080fd5b50610234610507366004611972565b610b2a565b34801561051857600080fd5b50610234610b70565b34801561052d57600080fd5b506000546001600160a01b03166102d2565b34801561054b57600080fd5b5061024b610baf565b34801561056057600080fd5b5061023461056f366004611972565b610bbe565b34801561058057600080fd5b5061023461058f36600461198b565b610c04565b3480156105a057600080fd5b506102816105af3660046118e8565b610c39565b3480156105c057600080fd5b506102816105cf3660046118e8565b610c88565b3480156105e057600080fd5b506102fb60115481565b3480156105f657600080fd5b506102fb60105481565b34801561060c57600080fd5b5061023461061b3660046119ad565b610c95565b34801561062c57600080fd5b506102fb61063b3660046119e2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067257600080fd5b50610234610681366004611972565b610cea565b34801561069257600080fd5b506102346106a1366004611914565b610d30565b6000546001600160a01b031633146106d95760405162461bcd60e51b81526004016106d090611a1b565b60405180910390fd5b600e8054821515600160a81b0260ff60a81b199091161790556040517f95104a55e36dd507aac6f3a5211027febb09c940366b18700bc6e6cedf67426b9061072690831515815260200190565b60405180910390a150565b60606005805461074090611a50565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90611a50565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b5050505050905090565b60006107d0338484610e1a565b5060015b92915050565b6000546001600160a01b031633146108045760405162461bcd60e51b81526004016106d090611a1b565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610833848484610f3f565b610885843361088085604051806060016040528060288152602001611d67602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906113b5565b610e1a565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107d091859061088090866113e1565b6000546001600160a01b031633146108ef5760405162461bcd60e51b81526004016106d090611a1b565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190611a8a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611a8a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a389190611a8a565b600e80546001600160a01b039283166001600160a01b031991821617909155600d805493909216921691909117905550565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016106d090611a1b565b610ab333610aa46012600a611ba1565b610aae9084611bb0565b6113f4565b50565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016106d090611a1b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b545760405162461bcd60e51b81526004016106d090611a1b565b610b606012600a611ba1565b610b6a9082611bb0565b600f5550565b6000546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016106d090611a1b565b600e805460ff60b01b1916600160b01b179055565b60606006805461074090611a50565b6000546001600160a01b03163314610be85760405162461bcd60e51b81526004016106d090611a1b565b610bf46012600a611ba1565b610bfe9082611bb0565b60105550565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016106d090611a1b565b600b91909155600c55565b60006107d0338461088085604051806060016040528060258152602001611d8f602591393360009081526003602090815260408083206001600160a01b038d16845290915290205491906113b5565b60006107d0338484610f3f565b6000546001600160a01b03163314610cbf5760405162461bcd60e51b81526004016106d090611a1b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d145760405162461bcd60e51b81526004016106d090611a1b565b610d206012600a611ba1565b610d2a9082611bb0565b60115550565b6000546001600160a01b03163314610d5a5760405162461bcd60e51b81526004016106d090611a1b565b6001600160a01b038116610dbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106d0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e7c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d0565b6001600160a01b038216610edd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d0565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f655760405162461bcd60e51b81526004016106d090611bc7565b6001600160a01b038216610f8b5760405162461bcd60e51b81526004016106d090611c0c565b60008111610fed5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106d0565b6000546001600160a01b038481169116148015906110155750600e54600160b01b900460ff16155b1561107357600e54600160b01b900460ff166110735760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016106d0565b6000546001600160a01b0384811691161480159061109f57506000546001600160a01b03838116911614155b15611151576001600160a01b03831660009081526009602052604090205460ff16806110e357506001600160a01b03821660009081526009602052604090205460ff165b806110f057506011548111155b6111515760405162461bcd60e51b815260206004820152602c60248201527f45524332303a205472616e7366657220616d6f756e742065786365656473207460448201526b34329026b0bc2a3c20b6ba1760a11b60648201526084016106d0565b6000546001600160a01b0384811691161480159061117857506001600160a01b0382163014155b801561118f57506001600160a01b03821661dead14155b80156111a95750600e546001600160a01b03838116911614155b15611244576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff16806111ec57506010546111e98383611c4f565b11155b6112425760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016106d0565b505b30600090815260026020526040902054600f54811080159081906112725750600e54600160a01b900460ff16155b801561128c5750600e546001600160a01b03868116911614155b80156112a15750600e54600160a81b900460ff165b156112b457600f5491506112b4826114ff565b6001600160a01b03851660009081526007602052604090205460019060ff16806112f657506001600160a01b03851660009081526007602052604090205460ff165b1561130e576113068686866115d3565b5060006113ad565b600e546001600160a01b03908116908716036113705760006113466064611340600b54886116df90919063ffffffff16565b906116eb565b905061135285826116f7565b945061135f8730836115d3565b61136a8787876115d3565b506113ad565b600e546001600160a01b03908116908616036113a25760006113466064611340600c54886116df90919063ffffffff16565b6113ad8686866115d3565b505050505050565b600081848411156113d95760405162461bcd60e51b81526004016106d09190611885565b505050900390565b60006113ed8284611c4f565b9392505050565b6001600160a01b0382166114545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106d0565b61149181604051806060016040528060228152602001611d1f602291396001600160a01b03851660009081526002602052604090205491906113b5565b6001600160a01b0383166000908152600260205260409020556004546114b790826116f7565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600e805460ff60a01b1916600160a01b179055600c5460009061152a906064906113409085906116df565b905080821580611538575080155b156115445750506115c3565b600061154f84611703565b4760008361155d8684611bb0565b6115679190611c62565b600a546040519192506001600160a01b0316908290600081818185875af1925050503d80600081146115b5576040519150601f19603f3d011682016040523d82523d6000602084013e6115ba565b606091505b50505050505050505b50600e805460ff60a01b19169055565b6001600160a01b0383166115f95760405162461bcd60e51b81526004016106d090611bc7565b6001600160a01b03821661161f5760405162461bcd60e51b81526004016106d090611c0c565b61165c81604051806060016040528060268152602001611d41602691396001600160a01b03861660009081526002602052604090205491906113b5565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461168b90826113e1565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f329085815260200190565b60006113ed8284611bb0565b60006113ed8284611c62565b60006113ed8284611c84565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061173857611738611c97565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b59190611a8a565b816001815181106117c8576117c8611c97565b6001600160a01b039283166020918202929092010152600d546117ee9130911684610e1a565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611827908590600090869030904290600401611cad565b600060405180830381600087803b15801561184157600080fd5b505af11580156113ad573d6000803e3d6000fd5b8035801515811461186557600080fd5b919050565b60006020828403121561187c57600080fd5b6113ed82611855565b600060208083528351808285015260005b818110156118b257858101830151858201604001528201611896565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ab357600080fd5b600080604083850312156118fb57600080fd5b8235611906816118d3565b946020939093013593505050565b60006020828403121561192657600080fd5b81356113ed816118d3565b60008060006060848603121561194657600080fd5b8335611951816118d3565b92506020840135611961816118d3565b929592945050506040919091013590565b60006020828403121561198457600080fd5b5035919050565b6000806040838503121561199e57600080fd5b50508035926020909101359150565b600080604083850312156119c057600080fd5b82356119cb816118d3565b91506119d960208401611855565b90509250929050565b600080604083850312156119f557600080fd5b8235611a00816118d3565b91506020830135611a10816118d3565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611a6457607f821691505b602082108103611a8457634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a9c57600080fd5b81516113ed816118d3565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611af8578160001904821115611ade57611ade611aa7565b80851615611aeb57918102915b93841c9390800290611ac2565b509250929050565b600082611b0f575060016107d4565b81611b1c575060006107d4565b8160018114611b325760028114611b3c57611b58565b60019150506107d4565b60ff841115611b4d57611b4d611aa7565b50506001821b6107d4565b5060208310610133831016604e8410600b8410161715611b7b575081810a6107d4565b611b858383611abd565b8060001904821115611b9957611b99611aa7565b029392505050565b60006113ed60ff841683611b00565b80820281158282048414176107d4576107d4611aa7565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808201808211156107d4576107d4611aa7565b600082611c7f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107d4576107d4611aa7565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cfd5784516001600160a01b031683529383019391830191600101611cd8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220219dea39f82b38eeff73f8112df43a14691a22ba1aa49c311344db8ac0a7e39b64736f6c63430008130033

Deployed Bytecode Sourcemap

9277:7898:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13190:176;;;;;;;;;;-1:-1:-1;13190:176:0;;;;;:::i;:::-;;:::i;:::-;;3977:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4957:194;;;;;;;;;;-1:-1:-1;4957:194:0;;;;;:::i;:::-;;:::i;:::-;;;1538:14:1;;1531:22;1513:41;;1501:2;1486:18;4957:194:0;1373:187:1;9832:41:0;;;;;;;;;;-1:-1:-1;9832:41:0;;;;-1:-1:-1;;;9832:41:0;;;;;;9721;;;;;;;;;;-1:-1:-1;9721:41:0;;;;-1:-1:-1;;;;;9721:41:0;;;;;;-1:-1:-1;;;;;1755:32:1;;;1737:51;;1725:2;1710:18;9721:41:0;1565:229:1;4298:108:0;;;;;;;;;;-1:-1:-1;4386:12:0;;4298:108;;;1945:25:1;;;1933:2;1918:18;4298:108:0;1799:177:1;12306:104:0;;;;;;;;;;-1:-1:-1;12306:104:0;;;;;:::i;:::-;;:::i;5159:454::-;;;;;;;;;;-1:-1:-1;5159:454:0;;;;;:::i;:::-;;:::i;9685:27::-;;;;;;;;;;;;;;;;4197:93;;;;;;;;;;-1:-1:-1;4197:93:0;;4280:2;2836:36:1;;2824:2;2809:18;4197:93:0;2694:184:1;5621:293:0;;;;;;;;;;-1:-1:-1;5621:293:0;;;;;:::i;:::-;;:::i;12850:332::-;;;;;;;;;;-1:-1:-1;12850:332:0;;;;;:::i;:::-;;:::i;11635:109::-;;;;;;;;;;-1:-1:-1;11635:109:0;;;;;:::i;:::-;;:::i;9652:26::-;;;;;;;;;;;;;;;;9769:28;;;;;;;;;;-1:-1:-1;9769:28:0;;;;-1:-1:-1;;;;;9769:28:0;;;9880:34;;;;;;;;;;-1:-1:-1;9880:34:0;;;;-1:-1:-1;;;9880:34:0;;;;;;11919:124;;;;;;;;;;-1:-1:-1;11919:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;12008:27:0;11984:4;12008:27;;;:18;:27;;;;;;;;;11919:124;9921:38;;;;;;;;;;;;;;;;4414:143;;;;;;;;;;-1:-1:-1;4414:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4531:18:0;4504:7;4531:18;;;:9;:18;;;;;;;4414:143;2858:148;;;;;;;;;;;;;:::i;9532:30::-;;;;;;;;;;-1:-1:-1;9532:30:0;;;;-1:-1:-1;;;;;9532:30:0;;;12701:141;;;;;;;;;;-1:-1:-1;12701:141:0;;;;;:::i;:::-;;:::i;12051:84::-;;;;;;;;;;;;;:::i;2635:87::-;;;;;;;;;;-1:-1:-1;2681:7:0;2708:6;-1:-1:-1;;;;;2708:6:0;2635:87;;4085:104;;;;;;;;;;;;;:::i;12418:143::-;;;;;;;;;;-1:-1:-1;12418:143:0;;;;;:::i;:::-;;:::i;12143:155::-;;;;;;;;;;-1:-1:-1;12143:155:0;;;;;:::i;:::-;;:::i;5922:393::-;;;;;;;;;;-1:-1:-1;5922:393:0;;;;;:::i;:::-;;:::i;4565:200::-;;;;;;;;;;-1:-1:-1;4565:200:0;;;;;:::i;:::-;;:::i;10004:23::-;;;;;;;;;;;;;;;;9966:31;;;;;;;;;;;;;;;;11752:159;;;;;;;;;;-1:-1:-1;11752:159:0;;;;;:::i;:::-;;:::i;4773:176::-;;;;;;;;;;-1:-1:-1;4773:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;4914:18:0;;;4887:7;4914:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4773:176;12569:124;;;;;;;;;;-1:-1:-1;12569:124:0;;;;;:::i;:::-;;:::i;3014:281::-;;;;;;;;;;-1:-1:-1;3014:281:0;;;;;:::i;:::-;;:::i;13190:176::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;;;;;;;;;13270:22:::1;:33:::0;;;::::1;;-1:-1:-1::0;;;13270:33:0::1;-1:-1:-1::0;;;;13270:33:0;;::::1;;::::0;;13319:39:::1;::::0;::::1;::::0;::::1;::::0;13295:8;1538:14:1;1531:22;1513:41;;1501:2;1486:18;;1373:187;13319:39:0::1;;;;;;;;13190:176:::0;:::o;3977:100::-;4031:13;4064:5;4057:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3977:100;:::o;4957:194::-;5065:4;5082:39;2138:10;5105:7;5114:6;5082:8;:39::i;:::-;-1:-1:-1;5139:4:0;4957:194;;;;;:::o;12306:104::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12379:15:::1;:23:::0;;-1:-1:-1;;;;;;12379:23:0::1;-1:-1:-1::0;;;;;12379:23:0;;;::::1;::::0;;;::::1;::::0;;12306:104::o;5159:454::-;5299:4;5316:36;5326:6;5334:9;5345:6;5316:9;:36::i;:::-;5363:220;5386:6;2138:10;5434:138;5490:6;5434:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5434:19:0;;;;;;:11;:19;;;;;;;;2138:10;5434:33;;;;;;;;;;:37;:138::i;:::-;5363:8;:220::i;:::-;-1:-1:-1;5601:4:0;5159:454;;;;;:::o;5621:293::-;2138:10;5734:4;5823:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5823:34:0;;;;;;;;;;5734:4;;5751:133;;5801:7;;5823:50;;5862:10;5823:38;:50::i;12850:332::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12925:35:::1;12982:9;12925:67;;13037:16;-1:-1:-1::0;;;;;13037:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13019:70:0::1;;13098:4;13105:16;-1:-1:-1::0;;;;;13105:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13019:110;::::0;-1:-1:-1;;;;;;13019:110:0::1;::::0;;;;;;-1:-1:-1;;;;;5474:15:1;;;13019:110:0::1;::::0;::::1;5456:34:1::0;5526:15;;5506:18;;;5499:43;5391:18;;13019:110:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13003:13;:126:::0;;-1:-1:-1;;;;;13003:126:0;;::::1;-1:-1:-1::0;;;;;;13003:126:0;;::::1;;::::0;;;13140:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;12850:332:0:o;11635:109::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;11692:44:::1;11698:10;11719:16;4280:2:::0;11719::::1;:16;:::i;:::-;11710:25;::::0;:6;:25:::1;:::i;:::-;11692:5;:44::i;:::-;11635:109:::0;:::o;2858:148::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;2965:1:::1;2949:6:::0;;2928:40:::1;::::0;-1:-1:-1;;;;;2949:6:0;;::::1;::::0;2928:40:::1;::::0;2965:1;;2928:40:::1;2996:1;2979:19:::0;;-1:-1:-1;;;;;;2979:19:0::1;::::0;;2858:148::o;12701:141::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12818:16:::1;4280:2:::0;12818::::1;:16;:::i;:::-;12809:25;::::0;:6;:25:::1;:::i;:::-;12783:23;:51:::0;-1:-1:-1;12701:141:0:o;12051:84::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12106:14:::1;:21:::0;;-1:-1:-1;;;;12106:21:0::1;-1:-1:-1::0;;;12106:21:0::1;::::0;;12051:84::o;4085:104::-;4141:13;4174:7;4167:14;;;;;:::i;12418:143::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12537:16:::1;4280:2:::0;12537::::1;:16;:::i;:::-;12517:36;::::0;:17;:36:::1;:::i;:::-;12498:16;:55:::0;-1:-1:-1;12418:143:0:o;12143:155::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12252:6:::1;:13:::0;;;;12276:7:::1;:14:::0;12143:155::o;5922:393::-;6040:4;6057:228;2138:10;6107:7;6129:145;6186:15;6129:145;;;;;;;;;;;;;;;;;2138:10;6129:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6129:34:0;;;;;;;;;;;;:38;:145::i;4565:200::-;4676:4;4693:42;2138:10;4717:9;4728:6;4693:9;:42::i;11752:159::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11868:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11868:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11752:159::o;12569:124::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;12669:16:::1;4280:2:::0;12669::::1;:16;:::i;:::-;12655:30;::::0;:11;:30:::1;:::i;:::-;12644:8;:41:::0;-1:-1:-1;12569:124:0:o;3014:281::-;2681:7;2708:6;-1:-1:-1;;;;;2708:6:0;2138:10;2770:23;2762:68;;;;-1:-1:-1;;;2762:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3117:22:0;::::1;3095:110;;;::::0;-1:-1:-1;;;3095:110:0;;7443:2:1;3095:110:0::1;::::0;::::1;7425:21:1::0;7482:2;7462:18;;;7455:30;7521:34;7501:18;;;7494:62;-1:-1:-1;;;7572:18:1;;;7565:36;7618:19;;3095:110:0::1;7241:402:1::0;3095:110:0::1;3242:6;::::0;;3221:38:::1;::::0;-1:-1:-1;;;;;3221:38:0;;::::1;::::0;3242:6;::::1;::::0;3221:38:::1;::::0;::::1;3270:6;:17:::0;;-1:-1:-1;;;;;;3270:17:0::1;-1:-1:-1::0;;;;;3270:17:0;;;::::1;::::0;;;::::1;::::0;;3014:281::o;7790:380::-;-1:-1:-1;;;;;7926:19:0;;7918:68;;;;-1:-1:-1;;;7918:68:0;;7850:2:1;7918:68:0;;;7832:21:1;7889:2;7869:18;;;7862:30;7928:34;7908:18;;;7901:62;-1:-1:-1;;;7979:18:1;;;7972:34;8023:19;;7918:68:0;7648:400:1;7918:68:0;-1:-1:-1;;;;;8005:21:0;;7997:68;;;;-1:-1:-1;;;7997:68:0;;8255:2:1;7997:68:0;;;8237:21:1;8294:2;8274:18;;;8267:30;8333:34;8313:18;;;8306:62;-1:-1:-1;;;8384:18:1;;;8377:32;8426:19;;7997:68:0;8053:398:1;7997:68:0;-1:-1:-1;;;;;8078:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8130:32;;1945:25:1;;;8130:32:0;;1918:18:1;8130:32:0;;;;;;;;7790:380;;;:::o;13411:2600::-;-1:-1:-1;;;;;13543:18:0;;13535:68;;;;-1:-1:-1;;;13535:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13622:16:0;;13614:64;;;;-1:-1:-1;;;13614:64:0;;;;;;;:::i;:::-;13706:1;13697:6;:10;13689:64;;;;-1:-1:-1;;;13689:64:0;;9468:2:1;13689:64:0;;;9450:21:1;9507:2;9487:18;;;9480:30;9546:34;9526:18;;;9519:62;-1:-1:-1;;;9597:18:1;;;9590:39;9646:19;;13689:64:0;9266:405:1;13689:64:0;2681:7;2708:6;-1:-1:-1;;;;;13770:15:0;;;2708:6;;13770:15;;;;:34;;-1:-1:-1;13790:14:0;;-1:-1:-1;;;13790:14:0;;;;13789:15;13770:34;13766:120;;;13829:14;;-1:-1:-1;;;13829:14:0;;;;13821:53;;;;-1:-1:-1;;;13821:53:0;;9878:2:1;13821:53:0;;;9860:21:1;9917:2;9897:18;;;9890:30;9956:28;9936:18;;;9929:56;10002:18;;13821:53:0;9676:350:1;13821:53:0;2681:7;2708:6;-1:-1:-1;;;;;13902:15:0;;;2708:6;;13902:15;;;;:32;;-1:-1:-1;2681:7:0;2708:6;-1:-1:-1;;;;;13921:13:0;;;2708:6;;13921:13;;13902:32;13898:287;;;-1:-1:-1;;;;;13975:32:0;;;;;;:26;:32;;;;;;;;;:87;;-1:-1:-1;;;;;;14032:30:0;;;;;;:26;:30;;;;;;;;13975:87;:130;;;;14097:8;;14087:6;:18;;13975:130;13949:236;;;;-1:-1:-1;;;13949:236:0;;10233:2:1;13949:236:0;;;10215:21:1;10272:2;10252:18;;;10245:30;10311:34;10291:18;;;10284:62;-1:-1:-1;;;10362:18:1;;;10355:42;10414:19;;13949:236:0;10031:408:1;13949:236:0;2681:7;2708:6;-1:-1:-1;;;;;14216:15:0;;;2708:6;;14216:15;;;;:51;;-1:-1:-1;;;;;;14248:19:0;;14262:4;14248:19;;14216:51;:86;;;;-1:-1:-1;;;;;;14284:18:0;;9601:42;14284:18;;14216:86;:122;;;;-1:-1:-1;14325:13:0;;-1:-1:-1;;;;;14319:19:0;;;14325:13;;14319:19;;14216:122;14198:425;;;-1:-1:-1;;;;;4531:18:0;;14365:22;4531:18;;;:9;:18;;;;;;;;;14444:24;:28;;;;;;;;;;:98;;-1:-1:-1;14525:16:0;;14498:23;14515:6;14498:14;:23;:::i;:::-;:43;;14444:98;14418:193;;;;-1:-1:-1;;;14418:193:0;;10776:2:1;14418:193:0;;;10758:21:1;10815:2;10795:18;;;10788:30;10854:34;10834:18;;;10827:62;-1:-1:-1;;;10905:18:1;;;10898:31;10946:19;;14418:193:0;10574:397:1;14418:193:0;14350:273;14198:425;14684:4;14635:28;4531:18;;;:9;:18;;;;;;14765:23;;14728:60;;;;;;;14817:53;;-1:-1:-1;14854:16:0;;-1:-1:-1;;;14854:16:0;;;;14853:17;14817:53;:91;;;;-1:-1:-1;14895:13:0;;-1:-1:-1;;;;;14887:21:0;;;14895:13;;14887:21;;14817:91;:130;;;;-1:-1:-1;14925:22:0;;-1:-1:-1;;;14925:22:0;;;;14817:130;14799:278;;;14997:23;;14974:46;;15035:30;15044:20;15035:8;:30::i;:::-;-1:-1:-1;;;;;15123:24:0;;15089:12;15123:24;;;:18;:24;;;;;;15104:4;;15123:24;;;:50;;-1:-1:-1;;;;;;15151:22:0;;;;;;:18;:22;;;;;;;;15123:50;15119:885;;;15190:33;15206:4;15212:2;15216:6;15190:15;:33::i;:::-;-1:-1:-1;15248:5:0;15119:885;;;15298:13;;-1:-1:-1;;;;;15298:13:0;;;15290:21;;;;15286:707;;15332:23;15358:27;15381:3;15358:18;15369:6;;15358;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;15332:53;-1:-1:-1;15413:27:0;:6;15332:53;15413:10;:27::i;:::-;15404:36;;15459:53;15475:4;15489;15496:15;15459;:53::i;:::-;15531:33;15547:4;15553:2;15557:6;15531:15;:33::i;:::-;15313:267;15286:707;;;15596:13;;-1:-1:-1;;;;;15596:13:0;;;15590:19;;;;15586:407;;15630:23;15656:68;15702:3;15656:19;15667:7;;15656:6;:10;;:19;;;;:::i;15586:407::-;15944:33;15960:4;15966:2;15970:6;15944:15;:33::i;:::-;13524:2487;;;13411:2600;;;:::o;1531:240::-;1651:7;1712:12;1704:6;;;;1696:29;;;;-1:-1:-1;;;1696:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1747:5:0;;;1531:240::o;1107:98::-;1165:7;1192:5;1196:1;1192;:5;:::i;:::-;1185:12;1107:98;-1:-1:-1;;;1107:98:0:o;7327:455::-;-1:-1:-1;;;;;7411:21:0;;7403:67;;;;-1:-1:-1;;;7403:67:0;;11178:2:1;7403:67:0;;;11160:21:1;11217:2;11197:18;;;11190:30;11256:34;11236:18;;;11229:62;-1:-1:-1;;;11307:18:1;;;11300:31;11348:19;;7403:67:0;10976:397:1;7403:67:0;7566:105;7603:6;7566:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7566:18:0;;;;;;:9;:18;;;;;;;:105;:22;:105::i;:::-;-1:-1:-1;;;;;7545:18:0;;;;;;:9;:18;;;;;:126;7697:12;;:24;;7714:6;7697:16;:24::i;:::-;7682:12;:39;7737:37;;1945:25:1;;;7763:1:0;;-1:-1:-1;;;;;7737:37:0;;;;;1933:2:1;1918:18;7737:37:0;;;;;;;7327:455;;:::o;16019:646::-;10329:16;:23;;-1:-1:-1;;;;10329:23:0;-1:-1:-1;;;10329:23:0;;;16139:7:::1;::::0;10329:23;;16119:61:::1;::::0;16166:3:::1;::::0;16119:28:::1;::::0;:15;;:19:::1;:28::i;:61::-;16093:87:::0;-1:-1:-1;16093:87:0;16249:20;;;:46:::1;;-1:-1:-1::0;16273:22:0;;16249:46:::1;16245:85;;;16312:7;;;;16245:85;16340:12;16363:33;16380:15;16363:16;:33::i;:::-;16428:21;16407:18;16533:17:::0;16487:28:::1;16500:15:::0;16428:21;16487:28:::1;:::i;:::-;16486:65;;;;:::i;:::-;16584:15;::::0;16576:81:::1;::::0;16460:91;;-1:-1:-1;;;;;;16584:15:0::1;::::0;16460:91;;16576:81:::1;::::0;;;16460:91;16584:15;16576:81:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;10363:1:0::1;-1:-1:-1::0;10375:16:0;:24;;-1:-1:-1;;;;10375:24:0;;;16019:646::o;6323:610::-;-1:-1:-1;;;;;6463:20:0;;6455:70;;;;-1:-1:-1;;;6455:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6544:23:0;;6536:71;;;;-1:-1:-1;;;6536:71:0;;;;;;;:::i;:::-;6700:108;6736:6;6700:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6700:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;6680:17:0;;;;;;;:9;:17;;;;;;:128;;;;6842:20;;;;;;;:32;;6867:6;6842:24;:32::i;:::-;-1:-1:-1;;;;;6819:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6890:35;;;;;;;;;;6918:6;1945:25:1;;1933:2;1918:18;;1799:177;1319:98:0;1377:7;1404:5;1408:1;1404;:5;:::i;1425:98::-;1483:7;1510:5;1514:1;1510;:5;:::i;1213:98::-;1271:7;1298:5;1302:1;1298;:5;:::i;16673:499::-;16763:16;;;16777:1;16763:16;;;;;;;;16739:21;;16763:16;;;;;;;;;;-1:-1:-1;16763:16:0;16739:40;;16808:4;16790;16795:1;16790:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16790:23:0;;;:7;;;;;;;;;;:23;;;;16834:15;;:22;;;-1:-1:-1;;;16834:22:0;;;;:15;;;;;:20;;:22;;;;;16790:7;;16834:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16824:4;16829:1;16824:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16824:32:0;;;:7;;;;;;;;;:32;16899:15;;16867:62;;16884:4;;16899:15;16917:11;16867:8;:62::i;:::-;16940:15;;:224;;-1:-1:-1;;;16940:224:0;;-1:-1:-1;;;;;16940:15:0;;;;:66;;:224;;17021:11;;16940:15;;17091:4;;17118;;17138:15;;16940:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:160:1;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;364:548::-;476:4;505:2;534;523:9;516:21;566:6;560:13;609:6;604:2;593:9;589:18;582:34;634:1;644:140;658:6;655:1;652:13;644:140;;;753:14;;;749:23;;743:30;719:17;;;738:2;715:26;708:66;673:10;;644:140;;;648:3;833:1;828:2;819:6;808:9;804:22;800:31;793:42;903:2;896;892:7;887:2;879:6;875:15;871:29;860:9;856:45;852:54;844:62;;;;364:548;;;;:::o;917:131::-;-1:-1:-1;;;;;992:31:1;;982:42;;972:70;;1038:1;1035;1028:12;1053:315;1121:6;1129;1182:2;1170:9;1161:7;1157:23;1153:32;1150:52;;;1198:1;1195;1188:12;1150:52;1237:9;1224:23;1256:31;1281:5;1256:31;:::i;:::-;1306:5;1358:2;1343:18;;;;1330:32;;-1:-1:-1;;;1053:315:1:o;1981:247::-;2040:6;2093:2;2081:9;2072:7;2068:23;2064:32;2061:52;;;2109:1;2106;2099:12;2061:52;2148:9;2135:23;2167:31;2192:5;2167:31;:::i;2233:456::-;2310:6;2318;2326;2379:2;2367:9;2358:7;2354:23;2350:32;2347:52;;;2395:1;2392;2385:12;2347:52;2434:9;2421:23;2453:31;2478:5;2453:31;:::i;:::-;2503:5;-1:-1:-1;2560:2:1;2545:18;;2532:32;2573:33;2532:32;2573:33;:::i;:::-;2233:456;;2625:7;;-1:-1:-1;;;2679:2:1;2664:18;;;;2651:32;;2233:456::o;2883:180::-;2942:6;2995:2;2983:9;2974:7;2970:23;2966:32;2963:52;;;3011:1;3008;3001:12;2963:52;-1:-1:-1;3034:23:1;;2883:180;-1:-1:-1;2883:180:1:o;3276:248::-;3344:6;3352;3405:2;3393:9;3384:7;3380:23;3376:32;3373:52;;;3421:1;3418;3411:12;3373:52;-1:-1:-1;;3444:23:1;;;3514:2;3499:18;;;3486:32;;-1:-1:-1;3276:248:1:o;3529:315::-;3594:6;3602;3655:2;3643:9;3634:7;3630:23;3626:32;3623:52;;;3671:1;3668;3661:12;3623:52;3710:9;3697:23;3729:31;3754:5;3729:31;:::i;:::-;3779:5;-1:-1:-1;3803:35:1;3834:2;3819:18;;3803:35;:::i;:::-;3793:45;;3529:315;;;;;:::o;3849:388::-;3917:6;3925;3978:2;3966:9;3957:7;3953:23;3949:32;3946:52;;;3994:1;3991;3984:12;3946:52;4033:9;4020:23;4052:31;4077:5;4052:31;:::i;:::-;4102:5;-1:-1:-1;4159:2:1;4144:18;;4131:32;4172:33;4131:32;4172:33;:::i;:::-;4224:7;4214:17;;;3849:388;;;;;:::o;4242:356::-;4444:2;4426:21;;;4463:18;;;4456:30;4522:34;4517:2;4502:18;;4495:62;4589:2;4574:18;;4242:356::o;4603:380::-;4682:1;4678:12;;;;4725;;;4746:61;;4800:4;4792:6;4788:17;4778:27;;4746:61;4853:2;4845:6;4842:14;4822:18;4819:38;4816:161;;4899:10;4894:3;4890:20;4887:1;4880:31;4934:4;4931:1;4924:15;4962:4;4959:1;4952:15;4816:161;;4603:380;;;:::o;4988:251::-;5058:6;5111:2;5099:9;5090:7;5086:23;5082:32;5079:52;;;5127:1;5124;5117:12;5079:52;5159:9;5153:16;5178:31;5203:5;5178:31;:::i;5553:127::-;5614:10;5609:3;5605:20;5602:1;5595:31;5645:4;5642:1;5635:15;5669:4;5666:1;5659:15;5685:422;5774:1;5817:5;5774:1;5831:270;5852:7;5842:8;5839:21;5831:270;;;5911:4;5907:1;5903:6;5899:17;5893:4;5890:27;5887:53;;;5920:18;;:::i;:::-;5970:7;5960:8;5956:22;5953:55;;;5990:16;;;;5953:55;6069:22;;;;6029:15;;;;5831:270;;;5835:3;5685:422;;;;;:::o;6112:806::-;6161:5;6191:8;6181:80;;-1:-1:-1;6232:1:1;6246:5;;6181:80;6280:4;6270:76;;-1:-1:-1;6317:1:1;6331:5;;6270:76;6362:4;6380:1;6375:59;;;;6448:1;6443:130;;;;6355:218;;6375:59;6405:1;6396:10;;6419:5;;;6443:130;6480:3;6470:8;6467:17;6464:43;;;6487:18;;:::i;:::-;-1:-1:-1;;6543:1:1;6529:16;;6558:5;;6355:218;;6657:2;6647:8;6644:16;6638:3;6632:4;6629:13;6625:36;6619:2;6609:8;6606:16;6601:2;6595:4;6592:12;6588:35;6585:77;6582:159;;;-1:-1:-1;6694:19:1;;;6726:5;;6582:159;6773:34;6798:8;6792:4;6773:34;:::i;:::-;6843:6;6839:1;6835:6;6831:19;6822:7;6819:32;6816:58;;;6854:18;;:::i;:::-;6892:20;;6112:806;-1:-1:-1;;;6112:806:1:o;6923:140::-;6981:5;7010:47;7051:4;7041:8;7037:19;7031:4;7010:47;:::i;7068:168::-;7141:9;;;7172;;7189:15;;;7183:22;;7169:37;7159:71;;7210:18;;:::i;8456:401::-;8658:2;8640:21;;;8697:2;8677:18;;;8670:30;8736:34;8731:2;8716:18;;8709:62;-1:-1:-1;;;8802:2:1;8787:18;;8780:35;8847:3;8832:19;;8456:401::o;8862:399::-;9064:2;9046:21;;;9103:2;9083:18;;;9076:30;9142:34;9137:2;9122:18;;9115:62;-1:-1:-1;;;9208:2:1;9193:18;;9186:33;9251:3;9236:19;;8862:399::o;10444:125::-;10509:9;;;10530:10;;;10527:36;;;10543:18;;:::i;11378:217::-;11418:1;11444;11434:132;;11488:10;11483:3;11479:20;11476:1;11469:31;11523:4;11520:1;11513:15;11551:4;11548:1;11541:15;11434:132;-1:-1:-1;11580:9:1;;11378:217::o;11810:128::-;11877:9;;;11898:11;;;11895:37;;;11912:18;;:::i;12075:127::-;12136:10;12131:3;12127:20;12124:1;12117:31;12167:4;12164:1;12157:15;12191:4;12188:1;12181:15;12207:980;12469:4;12517:3;12506:9;12502:19;12548:6;12537:9;12530:25;12574:2;12612:6;12607:2;12596:9;12592:18;12585:34;12655:3;12650:2;12639:9;12635:18;12628:31;12679:6;12714;12708:13;12745:6;12737;12730:22;12783:3;12772:9;12768:19;12761:26;;12822:2;12814:6;12810:15;12796:29;;12843:1;12853:195;12867:6;12864:1;12861:13;12853:195;;;12932:13;;-1:-1:-1;;;;;12928:39:1;12916:52;;13023:15;;;;12988:12;;;;12964:1;12882:9;12853:195;;;-1:-1:-1;;;;;;;13104:32:1;;;;13099:2;13084:18;;13077:60;-1:-1:-1;;;13168:3:1;13153:19;13146:35;13065:3;12207:980;-1:-1:-1;;;12207:980:1:o

Swarm Source

ipfs://219dea39f82b38eeff73f8112df43a14691a22ba1aa49c311344db8ac0a7e39b

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.