ETH Price: $2,687.26 (-2.37%)
Gas: 0.76 Gwei

Contract

0x467A76dA9bDb4277b0760DA9F38594A750C6f65B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve177984842023-07-29 11:46:11394 days ago1690631171IN
0x467A76dA...750C6f65B
0 ETH0.0007040715.21788341
Approve162360472022-12-21 22:25:59614 days ago1671661559IN
0x467A76dA...750C6f65B
0 ETH0.000589512.64336906
Approve161649202022-12-12 0:02:35624 days ago1670803355IN
0x467A76dA...750C6f65B
0 ETH0.0006620114.19841977
Approve161629112022-12-11 17:18:11624 days ago1670779091IN
0x467A76dA...750C6f65B
0 ETH0.0007667216.44425316
Approve161535272022-12-10 9:52:35625 days ago1670665955IN
0x467A76dA...750C6f65B
0 ETH0.0007937717.02419808
Approve161489492022-12-09 18:31:35626 days ago1670610695IN
0x467A76dA...750C6f65B
0 ETH0.001437330.82633904
Approve161484022022-12-09 16:41:35626 days ago1670604095IN
0x467A76dA...750C6f65B
0 ETH0.00828163177.61832009
Approve161481372022-12-09 15:48:35626 days ago1670600915IN
0x467A76dA...750C6f65B
0 ETH0.0014050930.1353757
Approve161480422022-12-09 15:29:23626 days ago1670599763IN
0x467A76dA...750C6f65B
0 ETH0.0016311934.9847547
Approve161460752022-12-09 8:51:35626 days ago1670575895IN
0x467A76dA...750C6f65B
0 ETH0.0013500928.95594525
Approve161446642022-12-09 4:07:35627 days ago1670558855IN
0x467A76dA...750C6f65B
0 ETH0.0006036412.9465203
Approve161432472022-12-08 23:22:47627 days ago1670541767IN
0x467A76dA...750C6f65B
0 ETH0.0006308513.53017578
Approve161431352022-12-08 23:00:23627 days ago1670540423IN
0x467A76dA...750C6f65B
0 ETH0.0007032115.08213394
Approve161428432022-12-08 22:01:47627 days ago1670536907IN
0x467A76dA...750C6f65B
0 ETH0.0007298815.65401122
Approve161424322022-12-08 20:39:11627 days ago1670531951IN
0x467A76dA...750C6f65B
0 ETH0.0005649812.117399
Approve161423482022-12-08 20:22:23627 days ago1670530943IN
0x467A76dA...750C6f65B
0 ETH0.0006592114.13833762
Approve161423072022-12-08 20:14:11627 days ago1670530451IN
0x467A76dA...750C6f65B
0 ETH0.0011397424.44434925
Approve161423062022-12-08 20:13:59627 days ago1670530439IN
0x467A76dA...750C6f65B
0 ETH0.0007148515.33166681
Approve161423052022-12-08 20:13:47627 days ago1670530427IN
0x467A76dA...750C6f65B
0 ETH0.0007111915.25311806
Approve161422982022-12-08 20:12:23627 days ago1670530343IN
0x467A76dA...750C6f65B
0 ETH0.0007115215.26024052
Approve161418672022-12-08 18:45:47627 days ago1670525147IN
0x467A76dA...750C6f65B
0 ETH0.000851118.25395908
Approve161417512022-12-08 18:22:11627 days ago1670523731IN
0x467A76dA...750C6f65B
0 ETH0.0006614814.18712474
Transfer161417092022-12-08 18:13:47627 days ago1670523227IN
0x467A76dA...750C6f65B
0 ETH0.0011441414.73365367
Transfer161417042022-12-08 18:12:47627 days ago1670523167IN
0x467A76dA...750C6f65B
0 ETH0.0011450514.74535543
Transfer161416952022-12-08 18:10:59627 days ago1670523059IN
0x467A76dA...750C6f65B
0 ETH0.0014120614.90420075
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
162451692022-12-23 4:57:23612 days ago1671771443
0x467A76dA...750C6f65B
0.00024068 ETH
162451692022-12-23 4:57:23612 days ago1671771443
0x467A76dA...750C6f65B
0.00024068 ETH
162360492022-12-21 22:26:23614 days ago1671661583
0x467A76dA...750C6f65B
0.00081092 ETH
162360492022-12-21 22:26:23614 days ago1671661583
0x467A76dA...750C6f65B
0.00081092 ETH
161753332022-12-13 10:57:23622 days ago1670929043
0x467A76dA...750C6f65B
0.00111153 ETH
161753332022-12-13 10:57:23622 days ago1670929043
0x467A76dA...750C6f65B
0.00111153 ETH
161652422022-12-12 1:07:23624 days ago1670807243
0x467A76dA...750C6f65B
0.00068611 ETH
161652422022-12-12 1:07:23624 days ago1670807243
0x467A76dA...750C6f65B
0.00068611 ETH
161649222022-12-12 0:02:59624 days ago1670803379
0x467A76dA...750C6f65B
0.00086659 ETH
161649222022-12-12 0:02:59624 days ago1670803379
0x467A76dA...750C6f65B
0.00086659 ETH
161595492022-12-11 6:03:23624 days ago1670738603
0x467A76dA...750C6f65B
0.00053534 ETH
161595492022-12-11 6:03:23624 days ago1670738603
0x467A76dA...750C6f65B
0.00053534 ETH
161570892022-12-10 21:47:35625 days ago1670708855
0x467A76dA...750C6f65B
0.00175177 ETH
161570892022-12-10 21:47:35625 days ago1670708855
0x467A76dA...750C6f65B
0.00175177 ETH
161552902022-12-10 15:46:35625 days ago1670687195
0x467A76dA...750C6f65B
0.00042852 ETH
161552902022-12-10 15:46:35625 days ago1670687195
0x467A76dA...750C6f65B
0.00042852 ETH
161535322022-12-10 9:53:35625 days ago1670666015
0x467A76dA...750C6f65B
0.00151938 ETH
161535322022-12-10 9:53:35625 days ago1670666015
0x467A76dA...750C6f65B
0.00151938 ETH
161535302022-12-10 9:53:11625 days ago1670665991
0x467A76dA...750C6f65B
0.00137347 ETH
161535302022-12-10 9:53:11625 days ago1670665991
0x467A76dA...750C6f65B
0.00137347 ETH
161512582022-12-10 2:16:11626 days ago1670638571
0x467A76dA...750C6f65B
0.00081848 ETH
161512582022-12-10 2:16:11626 days ago1670638571
0x467A76dA...750C6f65B
0.00081848 ETH
161512262022-12-10 2:09:47626 days ago1670638187
0x467A76dA...750C6f65B
0.00045012 ETH
161512262022-12-10 2:09:47626 days ago1670638187
0x467A76dA...750C6f65B
0.00045012 ETH
161508672022-12-10 0:57:23626 days ago1670633843
0x467A76dA...750C6f65B
0.00074935 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FurainguDoragon

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-08
*/

// SPDX-License-Identifier: Unlicensed
// https://t.me/FurainguDoragon
// 

pragma solidity ^0.8.9;

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

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

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = 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 FurainguDoragon is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "FurainguDoragon";
    string private constant _symbol = "SHINSEI";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 3;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 3;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x9403a05213125D038B7413b37DCd3829d3A9a664);
    address payable private _marketingAddress = payable(0x9403a05213125D038B7413b37DCd3829d3A9a664);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 10000000 * 10**9;
    uint256 public _maxWalletSize = 20000000 * 10**9;
    uint256 public _swapTokensAtAmount = 10000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

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

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

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

     function buytax() public view  returns (uint256) {
        return _taxFeeOnBuy;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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 (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

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

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

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    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)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

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

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

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

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

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    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) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    

    function setMaxWalletmaxtx(uint256 maxtx) public onlyOwner {
        _maxTxAmount = maxtx;
        _maxWalletSize = maxtx;
        
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"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":"buytax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxtx","type":"uint256"}],"name":"setMaxWalletmaxtx","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

60806040526200001a670de0b6b3a76400006000196200036a565b62000028906000196200038d565b6006556000600881905560036009819055600a829055600b819055600c829055600d819055600e91909155600f5560128054739403a05213125d038b7413b37dcd3829d3a9a6646001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b179055662386f26fc1000060165566470de4df8200006017556509184e72a000601855348015620000d057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200018e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b49190620003b3565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000202573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002289190620003b3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c9190620003b3565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035b91815260200190565b60405180910390a350620003e5565b6000826200038857634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003ae57634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003c657600080fd5b81516001600160a01b0381168114620003de57600080fd5b9392505050565b611dd280620003f56000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c3c8cd8011610064578063c3c8cd801461055d578063c492f04614610572578063dd62ed3e14610592578063f2fde38b146105d857600080fd5b8063a2a957bb146104cd578063a9059cbb146104ed578063b96acd6b1461050d578063bfd792841461052d57600080fd5b80638f70ccf7116100d15780638f70ccf7146104475780638f9a55c01461046757806395d89b411461047d57806398a5c315146104ad57600080fd5b80637d1db4a5146103e65780637f2feddc146103fc5780638da5cb5b1461042957600080fd5b8063313ce5671161016f5780636d8aa8f81161013e5780636d8aa8f81461037c5780636fc3eaec1461039c57806370a08231146103b1578063715018a6146103d157600080fd5b8063313ce5671461030b57806349bd5a5e146103275780634a1263f3146103475780636b9990531461035c57600080fd5b80631694505e116101ab5780631694505e1461027857806318160ddd146102b057806323b872dd146102d55780632fd689e3146102f557600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024857600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611923565b6105f8565b005b34801561020a57600080fd5b5060408051808201909152600f81526e233ab930b4b733baa237b930b3b7b760891b60208201525b60405161023f91906119e8565b60405180910390f35b34801561025457600080fd5b50610268610263366004611a3d565b610697565b604051901515815260200161023f565b34801561028457600080fd5b50601454610298906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b3480156102bc57600080fd5b50670de0b6b3a76400005b60405190815260200161023f565b3480156102e157600080fd5b506102686102f0366004611a69565b6106ae565b34801561030157600080fd5b506102c760185481565b34801561031757600080fd5b506040516009815260200161023f565b34801561033357600080fd5b50601554610298906001600160a01b031681565b34801561035357600080fd5b506009546102c7565b34801561036857600080fd5b506101fc610377366004611aaa565b610717565b34801561038857600080fd5b506101fc610397366004611ad7565b610762565b3480156103a857600080fd5b506101fc6107aa565b3480156103bd57600080fd5b506102c76103cc366004611aaa565b6107f5565b3480156103dd57600080fd5b506101fc610817565b3480156103f257600080fd5b506102c760165481565b34801561040857600080fd5b506102c7610417366004611aaa565b60116020526000908152604090205481565b34801561043557600080fd5b506000546001600160a01b0316610298565b34801561045357600080fd5b506101fc610462366004611ad7565b61088b565b34801561047357600080fd5b506102c760175481565b34801561048957600080fd5b506040805180820190915260078152665348494e53454960c81b6020820152610232565b3480156104b957600080fd5b506101fc6104c8366004611af2565b6108d3565b3480156104d957600080fd5b506101fc6104e8366004611b0b565b610902565b3480156104f957600080fd5b50610268610508366004611a3d565b610940565b34801561051957600080fd5b506101fc610528366004611af2565b61094d565b34801561053957600080fd5b50610268610548366004611aaa565b60106020526000908152604090205460ff1681565b34801561056957600080fd5b506101fc610981565b34801561057e57600080fd5b506101fc61058d366004611b3d565b6109d5565b34801561059e57600080fd5b506102c76105ad366004611bc1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e457600080fd5b506101fc6105f3366004611aaa565b610a76565b6000546001600160a01b0316331461062b5760405162461bcd60e51b815260040161062290611bfa565b60405180910390fd5b60005b81518110156106935760016010600084848151811061064f5761064f611c2f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068b81611c5b565b91505061062e565b5050565b60006106a4338484610b60565b5060015b92915050565b60006106bb848484610c84565b61070d843361070885604051806060016040528060288152602001611d75602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111c0565b610b60565b5060019392505050565b6000546001600160a01b031633146107415760405162461bcd60e51b815260040161062290611bfa565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461078c5760405162461bcd60e51b815260040161062290611bfa565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107df57506013546001600160a01b0316336001600160a01b0316145b6107e857600080fd5b476107f2816111fa565b50565b6001600160a01b0381166000908152600260205260408120546106a890611234565b6000546001600160a01b031633146108415760405162461bcd60e51b815260040161062290611bfa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161062290611bfa565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108fd5760405162461bcd60e51b815260040161062290611bfa565b601855565b6000546001600160a01b0316331461092c5760405162461bcd60e51b815260040161062290611bfa565b600893909355600a91909155600955600b55565b60006106a4338484610c84565b6000546001600160a01b031633146109775760405162461bcd60e51b815260040161062290611bfa565b6016819055601755565b6012546001600160a01b0316336001600160a01b031614806109b657506013546001600160a01b0316336001600160a01b0316145b6109bf57600080fd5b60006109ca306107f5565b90506107f2816112b8565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161062290611bfa565b60005b82811015610a70578160056000868685818110610a2157610a21611c2f565b9050602002016020810190610a369190611aaa565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6881611c5b565b915050610a02565b50505050565b6000546001600160a01b03163314610aa05760405162461bcd60e51b815260040161062290611bfa565b6001600160a01b038116610b055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610622565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bc25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610622565b6001600160a01b038216610c235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610622565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610622565b6001600160a01b038216610d4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610622565b60008111610dac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610622565b6000546001600160a01b03848116911614801590610dd857506000546001600160a01b03838116911614155b156110b957601554600160a01b900460ff16610e71576000546001600160a01b03848116911614610e715760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610622565b601654811115610ec35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610622565b6001600160a01b03831660009081526010602052604090205460ff16158015610f0557506001600160a01b03821660009081526010602052604090205460ff16155b610f5d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610622565b6015546001600160a01b03838116911614610fe25760175481610f7f846107f5565b610f899190611c76565b10610fe25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610622565b6000610fed306107f5565b6018546016549192508210159082106110065760165491505b80801561101d5750601554600160a81b900460ff16155b801561103757506015546001600160a01b03868116911614155b801561104c5750601554600160b01b900460ff165b801561107157506001600160a01b03851660009081526005602052604090205460ff16155b801561109657506001600160a01b03841660009081526005602052604090205460ff16155b156110b6576110a4826112b8565b4780156110b4576110b4476111fa565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806110fb57506001600160a01b03831660009081526005602052604090205460ff165b8061112d57506015546001600160a01b0385811691161480159061112d57506015546001600160a01b03848116911614155b1561113a575060006111b4565b6015546001600160a01b03858116911614801561116557506014546001600160a01b03848116911614155b1561117757600854600c55600954600d555b6015546001600160a01b0384811691161480156111a257506014546001600160a01b03858116911614155b156111b457600a54600c55600b54600d555b610a7084848484611432565b600081848411156111e45760405162461bcd60e51b815260040161062291906119e8565b5060006111f18486611c8e565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610693573d6000803e3d6000fd5b600060065482111561129b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610622565b60006112a5611460565b90506112b18382611483565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130057611300611c2f565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137d9190611ca5565b8160018151811061139057611390611c2f565b6001600160a01b0392831660209182029290920101526014546113b69130911684610b60565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ef908590600090869030904290600401611cc2565b600060405180830381600087803b15801561140957600080fd5b505af115801561141d573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061143f5761143f6114c5565b61144a8484846114f3565b80610a7057610a70600e54600c55600f54600d55565b600080600061146d6115ea565b909250905061147c8282611483565b9250505090565b60006112b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061162a565b600c541580156114d55750600d54155b156114dc57565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061150587611658565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061153790876116b5565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461156690866116f7565b6001600160a01b03891660009081526002602052604090205561158881611756565b61159284836117a0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115d791815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006116058282611483565b82101561162157505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361164b5760405162461bcd60e51b815260040161062291906119e8565b5060006111f18486611d33565b60008060008060008060008060006116758a600c54600d546117c4565b9250925092506000611685611460565b905060008060006116988e878787611819565b919e509c509a509598509396509194505050505091939550919395565b60006112b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c0565b6000806117048385611c76565b9050838110156112b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610622565b6000611760611460565b9050600061176e8383611869565b3060009081526002602052604090205490915061178b90826116f7565b30600090815260026020526040902055505050565b6006546117ad90836116b5565b6006556007546117bd90826116f7565b6007555050565b60008080806117de60646117d88989611869565b90611483565b905060006117f160646117d88a89611869565b90506000611809826118038b866116b5565b906116b5565b9992985090965090945050505050565b60008080806118288886611869565b905060006118368887611869565b905060006118448888611869565b905060006118568261180386866116b5565b939b939a50919850919650505050505050565b600082611878575060006106a8565b60006118848385611d55565b9050826118918583611d33565b146112b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610622565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107f257600080fd5b803561191e816118fe565b919050565b6000602080838503121561193657600080fd5b823567ffffffffffffffff8082111561194e57600080fd5b818501915085601f83011261196257600080fd5b813581811115611974576119746118e8565b8060051b604051601f19603f83011681018181108582111715611999576119996118e8565b6040529182528482019250838101850191888311156119b757600080fd5b938501935b828510156119dc576119cd85611913565b845293850193928501926119bc565b98975050505050505050565b600060208083528351808285015260005b81811015611a15578581018301518582016040015282016119f9565b81811115611a27576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a5057600080fd5b8235611a5b816118fe565b946020939093013593505050565b600080600060608486031215611a7e57600080fd5b8335611a89816118fe565b92506020840135611a99816118fe565b929592945050506040919091013590565b600060208284031215611abc57600080fd5b81356112b1816118fe565b8035801515811461191e57600080fd5b600060208284031215611ae957600080fd5b6112b182611ac7565b600060208284031215611b0457600080fd5b5035919050565b60008060008060808587031215611b2157600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b5257600080fd5b833567ffffffffffffffff80821115611b6a57600080fd5b818601915086601f830112611b7e57600080fd5b813581811115611b8d57600080fd5b8760208260051b8501011115611ba257600080fd5b602092830195509350611bb89186019050611ac7565b90509250925092565b60008060408385031215611bd457600080fd5b8235611bdf816118fe565b91506020830135611bef816118fe565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c6f57611c6f611c45565b5060010190565b60008219821115611c8957611c89611c45565b500190565b600082821015611ca057611ca0611c45565b500390565b600060208284031215611cb757600080fd5b81516112b1816118fe565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d125784516001600160a01b031683529383019391830191600101611ced565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d5057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d6f57611d6f611c45565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202fb15fae198d954da6c364bf58f95c4c2f3fab618cf4828ff8548b5ba3cf620f64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c3c8cd8011610064578063c3c8cd801461055d578063c492f04614610572578063dd62ed3e14610592578063f2fde38b146105d857600080fd5b8063a2a957bb146104cd578063a9059cbb146104ed578063b96acd6b1461050d578063bfd792841461052d57600080fd5b80638f70ccf7116100d15780638f70ccf7146104475780638f9a55c01461046757806395d89b411461047d57806398a5c315146104ad57600080fd5b80637d1db4a5146103e65780637f2feddc146103fc5780638da5cb5b1461042957600080fd5b8063313ce5671161016f5780636d8aa8f81161013e5780636d8aa8f81461037c5780636fc3eaec1461039c57806370a08231146103b1578063715018a6146103d157600080fd5b8063313ce5671461030b57806349bd5a5e146103275780634a1263f3146103475780636b9990531461035c57600080fd5b80631694505e116101ab5780631694505e1461027857806318160ddd146102b057806323b872dd146102d55780632fd689e3146102f557600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024857600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611923565b6105f8565b005b34801561020a57600080fd5b5060408051808201909152600f81526e233ab930b4b733baa237b930b3b7b760891b60208201525b60405161023f91906119e8565b60405180910390f35b34801561025457600080fd5b50610268610263366004611a3d565b610697565b604051901515815260200161023f565b34801561028457600080fd5b50601454610298906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b3480156102bc57600080fd5b50670de0b6b3a76400005b60405190815260200161023f565b3480156102e157600080fd5b506102686102f0366004611a69565b6106ae565b34801561030157600080fd5b506102c760185481565b34801561031757600080fd5b506040516009815260200161023f565b34801561033357600080fd5b50601554610298906001600160a01b031681565b34801561035357600080fd5b506009546102c7565b34801561036857600080fd5b506101fc610377366004611aaa565b610717565b34801561038857600080fd5b506101fc610397366004611ad7565b610762565b3480156103a857600080fd5b506101fc6107aa565b3480156103bd57600080fd5b506102c76103cc366004611aaa565b6107f5565b3480156103dd57600080fd5b506101fc610817565b3480156103f257600080fd5b506102c760165481565b34801561040857600080fd5b506102c7610417366004611aaa565b60116020526000908152604090205481565b34801561043557600080fd5b506000546001600160a01b0316610298565b34801561045357600080fd5b506101fc610462366004611ad7565b61088b565b34801561047357600080fd5b506102c760175481565b34801561048957600080fd5b506040805180820190915260078152665348494e53454960c81b6020820152610232565b3480156104b957600080fd5b506101fc6104c8366004611af2565b6108d3565b3480156104d957600080fd5b506101fc6104e8366004611b0b565b610902565b3480156104f957600080fd5b50610268610508366004611a3d565b610940565b34801561051957600080fd5b506101fc610528366004611af2565b61094d565b34801561053957600080fd5b50610268610548366004611aaa565b60106020526000908152604090205460ff1681565b34801561056957600080fd5b506101fc610981565b34801561057e57600080fd5b506101fc61058d366004611b3d565b6109d5565b34801561059e57600080fd5b506102c76105ad366004611bc1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e457600080fd5b506101fc6105f3366004611aaa565b610a76565b6000546001600160a01b0316331461062b5760405162461bcd60e51b815260040161062290611bfa565b60405180910390fd5b60005b81518110156106935760016010600084848151811061064f5761064f611c2f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068b81611c5b565b91505061062e565b5050565b60006106a4338484610b60565b5060015b92915050565b60006106bb848484610c84565b61070d843361070885604051806060016040528060288152602001611d75602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111c0565b610b60565b5060019392505050565b6000546001600160a01b031633146107415760405162461bcd60e51b815260040161062290611bfa565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461078c5760405162461bcd60e51b815260040161062290611bfa565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107df57506013546001600160a01b0316336001600160a01b0316145b6107e857600080fd5b476107f2816111fa565b50565b6001600160a01b0381166000908152600260205260408120546106a890611234565b6000546001600160a01b031633146108415760405162461bcd60e51b815260040161062290611bfa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161062290611bfa565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108fd5760405162461bcd60e51b815260040161062290611bfa565b601855565b6000546001600160a01b0316331461092c5760405162461bcd60e51b815260040161062290611bfa565b600893909355600a91909155600955600b55565b60006106a4338484610c84565b6000546001600160a01b031633146109775760405162461bcd60e51b815260040161062290611bfa565b6016819055601755565b6012546001600160a01b0316336001600160a01b031614806109b657506013546001600160a01b0316336001600160a01b0316145b6109bf57600080fd5b60006109ca306107f5565b90506107f2816112b8565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161062290611bfa565b60005b82811015610a70578160056000868685818110610a2157610a21611c2f565b9050602002016020810190610a369190611aaa565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6881611c5b565b915050610a02565b50505050565b6000546001600160a01b03163314610aa05760405162461bcd60e51b815260040161062290611bfa565b6001600160a01b038116610b055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610622565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bc25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610622565b6001600160a01b038216610c235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610622565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610622565b6001600160a01b038216610d4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610622565b60008111610dac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610622565b6000546001600160a01b03848116911614801590610dd857506000546001600160a01b03838116911614155b156110b957601554600160a01b900460ff16610e71576000546001600160a01b03848116911614610e715760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610622565b601654811115610ec35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610622565b6001600160a01b03831660009081526010602052604090205460ff16158015610f0557506001600160a01b03821660009081526010602052604090205460ff16155b610f5d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610622565b6015546001600160a01b03838116911614610fe25760175481610f7f846107f5565b610f899190611c76565b10610fe25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610622565b6000610fed306107f5565b6018546016549192508210159082106110065760165491505b80801561101d5750601554600160a81b900460ff16155b801561103757506015546001600160a01b03868116911614155b801561104c5750601554600160b01b900460ff165b801561107157506001600160a01b03851660009081526005602052604090205460ff16155b801561109657506001600160a01b03841660009081526005602052604090205460ff16155b156110b6576110a4826112b8565b4780156110b4576110b4476111fa565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806110fb57506001600160a01b03831660009081526005602052604090205460ff165b8061112d57506015546001600160a01b0385811691161480159061112d57506015546001600160a01b03848116911614155b1561113a575060006111b4565b6015546001600160a01b03858116911614801561116557506014546001600160a01b03848116911614155b1561117757600854600c55600954600d555b6015546001600160a01b0384811691161480156111a257506014546001600160a01b03858116911614155b156111b457600a54600c55600b54600d555b610a7084848484611432565b600081848411156111e45760405162461bcd60e51b815260040161062291906119e8565b5060006111f18486611c8e565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610693573d6000803e3d6000fd5b600060065482111561129b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610622565b60006112a5611460565b90506112b18382611483565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061130057611300611c2f565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137d9190611ca5565b8160018151811061139057611390611c2f565b6001600160a01b0392831660209182029290920101526014546113b69130911684610b60565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ef908590600090869030904290600401611cc2565b600060405180830381600087803b15801561140957600080fd5b505af115801561141d573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061143f5761143f6114c5565b61144a8484846114f3565b80610a7057610a70600e54600c55600f54600d55565b600080600061146d6115ea565b909250905061147c8282611483565b9250505090565b60006112b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061162a565b600c541580156114d55750600d54155b156114dc57565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061150587611658565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061153790876116b5565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461156690866116f7565b6001600160a01b03891660009081526002602052604090205561158881611756565b61159284836117a0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115d791815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006116058282611483565b82101561162157505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361164b5760405162461bcd60e51b815260040161062291906119e8565b5060006111f18486611d33565b60008060008060008060008060006116758a600c54600d546117c4565b9250925092506000611685611460565b905060008060006116988e878787611819565b919e509c509a509598509396509194505050505091939550919395565b60006112b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c0565b6000806117048385611c76565b9050838110156112b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610622565b6000611760611460565b9050600061176e8383611869565b3060009081526002602052604090205490915061178b90826116f7565b30600090815260026020526040902055505050565b6006546117ad90836116b5565b6006556007546117bd90826116f7565b6007555050565b60008080806117de60646117d88989611869565b90611483565b905060006117f160646117d88a89611869565b90506000611809826118038b866116b5565b906116b5565b9992985090965090945050505050565b60008080806118288886611869565b905060006118368887611869565b905060006118448888611869565b905060006118568261180386866116b5565b939b939a50919850919650505050505050565b600082611878575060006106a8565b60006118848385611d55565b9050826118918583611d33565b146112b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610622565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107f257600080fd5b803561191e816118fe565b919050565b6000602080838503121561193657600080fd5b823567ffffffffffffffff8082111561194e57600080fd5b818501915085601f83011261196257600080fd5b813581811115611974576119746118e8565b8060051b604051601f19603f83011681018181108582111715611999576119996118e8565b6040529182528482019250838101850191888311156119b757600080fd5b938501935b828510156119dc576119cd85611913565b845293850193928501926119bc565b98975050505050505050565b600060208083528351808285015260005b81811015611a15578581018301518582016040015282016119f9565b81811115611a27576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a5057600080fd5b8235611a5b816118fe565b946020939093013593505050565b600080600060608486031215611a7e57600080fd5b8335611a89816118fe565b92506020840135611a99816118fe565b929592945050506040919091013590565b600060208284031215611abc57600080fd5b81356112b1816118fe565b8035801515811461191e57600080fd5b600060208284031215611ae957600080fd5b6112b182611ac7565b600060208284031215611b0457600080fd5b5035919050565b60008060008060808587031215611b2157600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b5257600080fd5b833567ffffffffffffffff80821115611b6a57600080fd5b818601915086601f830112611b7e57600080fd5b813581811115611b8d57600080fd5b8760208260051b8501011115611ba257600080fd5b602092830195509350611bb89186019050611ac7565b90509250925092565b60008060408385031215611bd457600080fd5b8235611bdf816118fe565b91506020830135611bef816118fe565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c6f57611c6f611c45565b5060010190565b60008219821115611c8957611c89611c45565b500190565b600082821015611ca057611ca0611c45565b500390565b600060208284031215611cb757600080fd5b81516112b1816118fe565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d125784516001600160a01b031683529383019391830191600101611ced565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d5057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d6f57611d6f611c45565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202fb15fae198d954da6c364bf58f95c4c2f3fab618cf4828ff8548b5ba3cf620f64736f6c634300080a0033

Deployed Bytecode Sourcemap

4108:13528:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12891:169;;;;;;;;;;-1:-1:-1;12891:169:0;;;;;:::i;:::-;;:::i;:::-;;6623:83;;;;;;;;;;-1:-1:-1;6693:5:0;;;;;;;;;;;;-1:-1:-1;;;6693:5:0;;;;6623:83;;;;;;;:::i;:::-;;;;;;;;7644:193;;;;;;;;;;-1:-1:-1;7644:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7644:193:0;2469:187:1;5466:41:0;;;;;;;;;;-1:-1:-1;5466:41:0;;;;-1:-1:-1;;;;;5466:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5466:41:0;2661:229:1;6996:95:0;;;;;;;;;;-1:-1:-1;4672:18:0;6996:95;;;3041:25:1;;;3029:2;3014:18;6996:95:0;2895:177:1;7845:446:0;;;;;;;;;;-1:-1:-1;7845:446:0;;;;;:::i;:::-;;:::i;5771:50::-;;;;;;;;;;;;;;;;6809:83;;;;;;;;;;-1:-1:-1;6809:83:0;;4346:1;3680:36:1;;3668:2;3653:18;6809:83:0;3538:184:1;5514:28:0;;;;;;;;;;-1:-1:-1;5514:28:0;;;;-1:-1:-1;;;;;5514:28:0;;;6901:87;;;;;;;;;;-1:-1:-1;6968:12:0;;6901:87;;13068:92;;;;;;;;;;-1:-1:-1;13068:92:0;;;;;:::i;:::-;;:::i;17100:101::-;;;;;;;;;;-1:-1:-1;17100:101:0;;;;;:::i;:::-;;:::i;12648:235::-;;;;;;;;;;;;;:::i;7099:138::-;;;;;;;;;;-1:-1:-1;7099:138:0;;;;;:::i;:::-;;:::i;1595:148::-;;;;;;;;;;;;;:::i;5663:46::-;;;;;;;;;;;;;;;;5208:43;;;;;;;;;;-1:-1:-1;5208:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1381:79;;;;;;;;;;-1:-1:-1;1419:7:0;1446:6;-1:-1:-1;;;;;1446:6:0;1381:79;;12295:101;;;;;;;;;;-1:-1:-1;12295:101:0;;;;;:::i;:::-;;:::i;5716:48::-;;;;;;;;;;;;;;;;6714:87;;;;;;;;;;-1:-1:-1;6786:7:0;;;;;;;;;;;;-1:-1:-1;;;6786:7:0;;;;6714:87;;16909:139;;;;;;;;;;-1:-1:-1;16909:139:0;;;;;:::i;:::-;;:::i;16566:291::-;;;;;;;;;;-1:-1:-1;16566:291:0;;;;;:::i;:::-;;:::i;7245:199::-;;;;;;;;;;-1:-1:-1;7245:199:0;;;;;:::i;:::-;;:::i;17248:141::-;;;;;;;;;;-1:-1:-1;17248:141:0;;;;;:::i;:::-;;:::i;5170:36::-;;;;;;;;;;-1:-1:-1;5170:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12404:236;;;;;;;;;;;;;:::i;17397:234::-;;;;;;;;;;-1:-1:-1;17397:234:0;;;;;:::i;:::-;;:::i;7452:184::-;;;;;;;;;;-1:-1:-1;7452:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7601:18:0;;;7569:7;7601:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7452:184;1751:244;;;;;;;;;;-1:-1:-1;1751:244:0;;;;;:::i;:::-;;:::i;12891:169::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;;;;;;;;;12967:9:::1;12962:91;12986:5;:12;12982:1;:16;12962:91;;;13037:4;13020;:14;13025:5;13031:1;13025:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13020:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13020:14:0;:21;;-1:-1:-1;;13020:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13000:3;::::1;::::0;::::1;:::i;:::-;;;;12962:91;;;;12891:169:::0;:::o;7644:193::-;7746:4;7768:39;220:10;7791:7;7800:6;7768:8;:39::i;:::-;-1:-1:-1;7825:4:0;7644:193;;;;;:::o;7845:446::-;7977:4;7994:36;8004:6;8012:9;8023:6;7994:9;:36::i;:::-;8041:220;8064:6;220:10;8112:138;8168:6;8112:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8112:19:0;;;;;;:11;:19;;;;;;;;220:10;8112:33;;;;;;;;;;:37;:138::i;:::-;8041:8;:220::i;:::-;-1:-1:-1;8279:4:0;7845:446;;;;;:::o;13068:92::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13132:12:0::1;13147:5;13132:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13132:20:0::1;::::0;;13068:92::o;17100:101::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;17167:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17167:26:0::1;-1:-1:-1::0;;;;17167:26:0;;::::1;::::0;;;::::1;::::0;;17100:101::o;12648:235::-;12714:19;;-1:-1:-1;;;;;12714:19:0;220:10;-1:-1:-1;;;;;12698:35:0;;:72;;;-1:-1:-1;12753:17:0;;-1:-1:-1;;;;;12753:17:0;220:10;-1:-1:-1;;;;;12737:33:0;;12698:72;12690:81;;;;;;12811:21;12843:32;12811:21;12843:12;:32::i;:::-;12679:204;12648:235::o;7099:138::-;-1:-1:-1;;;;;7212:16:0;;7165:7;7212:16;;;:7;:16;;;;;;7192:37;;:19;:37::i;1595:148::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;1702:1:::1;1686:6:::0;;1665:40:::1;::::0;-1:-1:-1;;;;;1686:6:0;;::::1;::::0;1665:40:::1;::::0;1702:1;;1665:40:::1;1733:1;1716:19:::0;;-1:-1:-1;;;;;;1716:19:0::1;::::0;;1595:148::o;12295:101::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;12362:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12362:26:0::1;-1:-1:-1::0;;;;12362:26:0;;::::1;::::0;;;::::1;::::0;;12295:101::o;16909:139::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;17000:19:::1;:40:::0;16909:139::o;16566:291::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;16700:14:::1;:30:::0;;;;16741:15:::1;:32:::0;;;;16784:12:::1;:26:::0;16821:13:::1;:28:::0;16566:291::o;7245:199::-;7350:4;7372:42;220:10;7396:9;7407:6;7372:9;:42::i;17248:141::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;17318:12:::1;:20:::0;;;17349:14:::1;:22:::0;17248:141::o;12404:236::-;12470:19;;-1:-1:-1;;;;;12470:19:0;220:10;-1:-1:-1;;;;;12454:35:0;;:72;;;-1:-1:-1;12509:17:0;;-1:-1:-1;;;;;12509:17:0;220:10;-1:-1:-1;;;;;12493:33:0;;12454:72;12446:81;;;;;;12538:23;12564:24;12582:4;12564:9;:24::i;:::-;12538:50;;12599:33;12616:15;12599:16;:33::i;17397:234::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;17514:9:::1;17510:114;17529:19:::0;;::::1;17510:114;;;17604:8;17570:18;:31;17589:8;;17598:1;17589:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17570:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17570:31:0;:42;;-1:-1:-1;;17570:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17550:3;::::1;::::0;::::1;:::i;:::-;;;;17510:114;;;;17397:234:::0;;;:::o;1751:244::-;1508:6;;-1:-1:-1;;;;;1508:6:0;220:10;1508:22;1500:67;;;;-1:-1:-1;;;1500:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1840:22:0;::::1;1832:73;;;::::0;-1:-1:-1;;;1832:73:0;;7166:2:1;1832:73:0::1;::::0;::::1;7148:21:1::0;7205:2;7185:18;;;7178:30;7244:34;7224:18;;;7217:62;-1:-1:-1;;;7295:18:1;;;7288:36;7341:19;;1832:73:0::1;6964:402:1::0;1832:73:0::1;1942:6;::::0;;1921:38:::1;::::0;-1:-1:-1;;;;;1921:38:0;;::::1;::::0;1942:6;::::1;::::0;1921:38:::1;::::0;::::1;1970:6;:17:::0;;-1:-1:-1;;;;;;1970:17:0::1;-1:-1:-1::0;;;;;1970:17:0;;;::::1;::::0;;;::::1;::::0;;1751:244::o;8982:369::-;-1:-1:-1;;;;;9109:19:0;;9101:68;;;;-1:-1:-1;;;9101:68:0;;7573:2:1;9101:68:0;;;7555:21:1;7612:2;7592:18;;;7585:30;7651:34;7631:18;;;7624:62;-1:-1:-1;;;7702:18:1;;;7695:34;7746:19;;9101:68:0;7371:400:1;9101:68:0;-1:-1:-1;;;;;9188:21:0;;9180:68;;;;-1:-1:-1;;;9180:68:0;;7978:2:1;9180:68:0;;;7960:21:1;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:32;8149:19;;9180:68:0;7776:398:1;9180:68:0;-1:-1:-1;;;;;9259:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9311:32;;3041:25:1;;;9311:32:0;;3014:18:1;9311:32:0;;;;;;;8982:369;;;:::o;9359:2330::-;-1:-1:-1;;;;;9481:18:0;;9473:68;;;;-1:-1:-1;;;9473:68:0;;8381:2:1;9473:68:0;;;8363:21:1;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:35;8555:19;;9473:68:0;8179:401:1;9473:68:0;-1:-1:-1;;;;;9560:16:0;;9552:64;;;;-1:-1:-1;;;9552:64:0;;8787:2:1;9552:64:0;;;8769:21:1;8826:2;8806:18;;;8799:30;8865:34;8845:18;;;8838:62;-1:-1:-1;;;8916:18:1;;;8909:33;8959:19;;9552:64:0;8585:399:1;9552:64:0;9644:1;9635:6;:10;9627:64;;;;-1:-1:-1;;;9627:64:0;;9191:2:1;9627:64:0;;;9173:21:1;9230:2;9210:18;;;9203:30;9269:34;9249:18;;;9242:62;-1:-1:-1;;;9320:18:1;;;9313:39;9369:19;;9627:64:0;8989:405:1;9627:64:0;1419:7;1446:6;-1:-1:-1;;;;;9708:15:0;;;1446:6;;9708:15;;;;:32;;-1:-1:-1;1419:7:0;1446:6;-1:-1:-1;;;;;9727:13:0;;;1446:6;;9727:13;;9708:32;9704:1259;;;9797:11;;-1:-1:-1;;;9797:11:0;;;;9792:144;;1419:7;1446:6;-1:-1:-1;;;;;9837:15:0;;;1446:6;;9837:15;9829:91;;;;-1:-1:-1;;;9829:91:0;;9601:2:1;9829:91:0;;;9583:21:1;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;9750:33;9730:18;;;9723:61;9801:19;;9829:91:0;9399:427:1;9829:91:0;9970:12;;9960:6;:22;;9952:63;;;;-1:-1:-1;;;9952:63:0;;10033:2:1;9952:63:0;;;10015:21:1;10072:2;10052:18;;;10045:30;10111;10091:18;;;10084:58;10159:18;;9952:63:0;9831:352:1;9952:63:0;-1:-1:-1;;;;;10039:10:0;;;;;;:4;:10;;;;;;;;10038:11;:24;;;;-1:-1:-1;;;;;;10054:8:0;;;;;;:4;:8;;;;;;;;10053:9;10038:24;10030:72;;;;-1:-1:-1;;;10030:72:0;;10390:2:1;10030:72:0;;;10372:21:1;10429:2;10409:18;;;10402:30;10468:34;10448:18;;;10441:62;-1:-1:-1;;;10519:18:1;;;10512:33;10562:19;;10030:72:0;10188:399:1;10030:72:0;10128:13;;-1:-1:-1;;;;;10122:19:0;;;10128:13;;10122:19;10119:146;;10195:14;;10186:6;10170:13;10180:2;10170:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10162:87;;;;-1:-1:-1;;;10162:87:0;;10927:2:1;10162:87:0;;;10909:21:1;10966:2;10946:18;;;10939:30;11005:34;10985:18;;;10978:62;-1:-1:-1;;;11056:18:1;;;11049:33;11099:19;;10162:87:0;10725:399:1;10162:87:0;10281:28;10312:24;10330:4;10312:9;:24::i;:::-;10390:19;;10453:12;;10281:55;;-1:-1:-1;10366:43:0;;;;10429:36;;10426:124;;10522:12;;10499:35;;10426:124;10570:7;:18;;;;-1:-1:-1;10582:6:0;;-1:-1:-1;;;10582:6:0;;;;10581:7;10570:18;:43;;;;-1:-1:-1;10600:13:0;;-1:-1:-1;;;;;10592:21:0;;;10600:13;;10592:21;;10570:43;:58;;;;-1:-1:-1;10617:11:0;;-1:-1:-1;;;10617:11:0;;;;10570:58;:87;;;;-1:-1:-1;;;;;;10633:24:0;;;;;;:18;:24;;;;;;;;10632:25;10570:87;:114;;;;-1:-1:-1;;;;;;10662:22:0;;;;;;:18;:22;;;;;;;;10661:23;10570:114;10566:386;;;10705:38;10722:20;10705:16;:38::i;:::-;10791:21;10835:22;;10831:106;;10882:35;10895:21;10882:12;:35::i;:::-;10686:266;10566:386;9742:1221;;9704:1259;-1:-1:-1;;;;;11039:24:0;;10975:12;11039:24;;;:18;:24;;;;;;10990:4;;11039:24;;;:50;;-1:-1:-1;;;;;;11067:22:0;;;;;;:18;:22;;;;;;;;11039:50;11038:102;;;-1:-1:-1;11103:13:0;;-1:-1:-1;;;;;11095:21:0;;;11103:13;;11095:21;;;;:44;;-1:-1:-1;11126:13:0;;-1:-1:-1;;;;;11120:19:0;;;11126:13;;11120:19;;11095:44;11034:594;;;-1:-1:-1;11167:5:0;11034:594;;;11250:13;;-1:-1:-1;;;;;11242:21:0;;;11250:13;;11242:21;:55;;;;-1:-1:-1;11281:15:0;;-1:-1:-1;;;;;11267:30:0;;;11281:15;;11267:30;;11242:55;11239:162;;;11330:14;;11318:9;:26;11373:12;;11363:7;:22;11239:162;11460:13;;-1:-1:-1;;;;;11454:19:0;;;11460:13;;11454:19;:55;;;;-1:-1:-1;11493:15:0;;-1:-1:-1;;;;;11477:32:0;;;11493:15;;11477:32;;11454:55;11450:165;;;11542:15;;11530:9;:27;11586:13;;11576:7;:23;11450:165;11640:41;11655:4;11661:2;11665:6;11673:7;11640:14;:41::i;2359:224::-;2479:7;2515:12;2507:6;;;;2499:29;;;;-1:-1:-1;;;2499:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2539:9:0;2551:5;2555:1;2551;:5;:::i;:::-;2539:17;2359:224;-1:-1:-1;;;;;2359:224:0:o;12188:99::-;12245:17;;:34;;-1:-1:-1;;;;;12245:17:0;;;;:34;;;;;12272:6;;12245:17;:34;:17;:34;12272:6;12245:17;:34;;;;;;;;;;;;;;;;;;;8299:323;8394:7;8452;;8441;:18;;8419:110;;;;-1:-1:-1;;;8419:110:0;;11461:2:1;8419:110:0;;;11443:21:1;11500:2;11480:18;;;11473:30;11539:34;11519:18;;;11512:62;-1:-1:-1;;;11590:18:1;;;11583:40;11640:19;;8419:110:0;11259:406:1;8419:110:0;8540:19;8562:10;:8;:10::i;:::-;8540:32;-1:-1:-1;8590:24:0;:7;8540:32;8590:11;:24::i;:::-;8583:31;8299:323;-1:-1:-1;;;8299:323:0:o;11697:483::-;5915:6;:13;;-1:-1:-1;;;;5915:13:0;-1:-1:-1;;;5915:13:0;;;11799:16:::1;::::0;;11813:1:::1;11799:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11799:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11799:16:0::1;11775:40;;11844:4;11826;11831:1;11826:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11826:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11870:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11870:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11826:7;;11870:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11860:4;11865:1;11860:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11860:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11935:15:::1;::::0;11903:62:::1;::::0;11920:4:::1;::::0;11935:15:::1;11953:11:::0;11903:8:::1;:62::i;:::-;11976:15;::::0;:196:::1;::::0;-1:-1:-1;;;11976:196:0;;-1:-1:-1;;;;;11976:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12057:11;;11976:15:::1;::::0;12099:4;;12126::::1;::::0;12146:15:::1;::::0;11976:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5951:6:0;:14;;-1:-1:-1;;;;5951:14:0;;;-1:-1:-1;;;;11697:483:0:o;13168:282::-;13324:7;13319:28;;13333:14;:12;:14::i;:::-;13358:44;13376:6;13384:9;13395:6;13358:17;:44::i;:::-;13418:7;13413:29;;13427:15;8913:17;;8901:9;:29;8951:15;;8941:7;:25;8857:117;16129:164;16171:7;16192:15;16209;16228:19;:17;:19::i;:::-;16191:56;;-1:-1:-1;16191:56:0;-1:-1:-1;16265:20:0;16191:56;;16265:11;:20::i;:::-;16258:27;;;;16129:164;:::o;2845:132::-;2903:7;2930:39;2934:1;2937;2930:39;;;;;;;;;;;;;;;;;:3;:39::i;8630:219::-;8677:9;;:14;:30;;;;-1:-1:-1;8695:7:0;;:12;8677:30;8673:43;;;8630:219::o;8673:43::-;8748:9;;;8728:17;:29;8786:7;;;8768:15;:25;-1:-1:-1;8806:13:0;;;;8830:11;8630:219::o;13458:610::-;13605:15;13635:23;13673:12;13700:23;13738:12;13765:13;13792:19;13803:7;13792:10;:19::i;:::-;-1:-1:-1;;;;;13840:15:0;;;;;;:7;:15;;;;;;13590:221;;-1:-1:-1;13590:221:0;;-1:-1:-1;13590:221:0;;-1:-1:-1;13590:221:0;-1:-1:-1;13590:221:0;-1:-1:-1;13590:221:0;-1:-1:-1;13840:28:0;;13590:221;13840:19;:28::i;:::-;-1:-1:-1;;;;;13822:15:0;;;;;;;:7;:15;;;;;;:46;;;;13900:18;;;;;;;:39;;13923:15;13900:22;:39::i;:::-;-1:-1:-1;;;;;13879:18:0;;;;;;:7;:18;;;;;:60;13950:16;13960:5;13950:9;:16::i;:::-;13977:23;13989:4;13995;13977:11;:23::i;:::-;14033:9;-1:-1:-1;;;;;14016:44:0;14025:6;-1:-1:-1;;;;;14016:44:0;;14044:15;14016:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;14016:44:0;;;;;;;;13579:489;;;;;;13458:610;;;:::o;16301:257::-;16399:7;;16352;;;;4672:18;16467:20;16399:7;4672:18;16467:11;:20::i;:::-;16457:7;:30;16453:61;;;-1:-1:-1;;16497:7:0;;;4672:18;;-1:-1:-1;16301:257:0;-1:-1:-1;16301:257:0:o;16453:61::-;16533:7;;16542;;-1:-1:-1;16301:257:0;-1:-1:-1;16301:257:0:o;2985:223::-;3105:7;3140:12;3133:5;3125:28;;;;-1:-1:-1;;;3125:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3164:9:0;3176:5;3180:1;3176;:5;:::i;14487:615::-;14587:7;14609;14631;14653;14675;14697;14733:23;14758:12;14772:13;14802:40;14814:7;14823:9;;14834:7;;14802:11;:40::i;:::-;14732:110;;;;;;14853:19;14875:10;:8;:10::i;:::-;14853:32;;14897:15;14914:23;14939:12;14968:46;14980:7;14989:4;14995:5;15002:11;14968;:46::i;:::-;14896:118;;-1:-1:-1;14896:118:0;-1:-1:-1;14896:118:0;-1:-1:-1;15065:15:0;;-1:-1:-1;15082:4:0;;-1:-1:-1;15088:5:0;;-1:-1:-1;;;;;14487:615:0;;;;;;;:::o;2215:136::-;2273:7;2300:43;2304:1;2307;2300:43;;;;;;;;;;;;;;;;;:3;:43::i;2028:179::-;2086:7;;2118:5;2122:1;2118;:5;:::i;:::-;2106:17;;2147:1;2142;:6;;2134:46;;;;-1:-1:-1;;;2134:46:0;;13335:2:1;2134:46:0;;;13317:21:1;13374:2;13354:18;;;13347:30;13413:29;13393:18;;;13386:57;13460:18;;2134:46:0;13133:351:1;14076:211:0;14129:19;14151:10;:8;:10::i;:::-;14129:32;-1:-1:-1;14172:13:0;14188:22;:5;14129:32;14188:9;:22::i;:::-;14262:4;14246:22;;;;:7;:22;;;;;;14172:38;;-1:-1:-1;14246:33:0;;14172:38;14246:26;:33::i;:::-;14237:4;14221:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14076:211:0:o;14295:147::-;14373:7;;:17;;14385:4;14373:11;:17::i;:::-;14363:7;:27;14414:10;;:20;;14429:4;14414:14;:20::i;:::-;14401:10;:33;-1:-1:-1;;14295:147:0:o;15110:469::-;15279:7;;;;15373:30;15399:3;15373:21;:7;15385:8;15373:11;:21::i;:::-;:25;;:30::i;:::-;15358:45;-1:-1:-1;15414:13:0;15430:28;15454:3;15430:19;:7;15442:6;15430:11;:19::i;:28::-;15414:44;-1:-1:-1;15469:23:0;15495:28;15414:44;15495:17;:7;15507:4;15495:11;:17::i;:::-;:21;;:28::i;:::-;15469:54;15559:4;;-1:-1:-1;15565:5:0;;-1:-1:-1;15110:469:0;;-1:-1:-1;;;;;15110:469:0:o;15587:534::-;15781:7;;;;15878:24;:7;15890:11;15878;:24::i;:::-;15860:42;-1:-1:-1;15913:12:0;15928:21;:4;15937:11;15928:8;:21::i;:::-;15913:36;-1:-1:-1;15960:13:0;15976:22;:5;15986:11;15976:9;:22::i;:::-;15960:38;-1:-1:-1;16009:23:0;16035:28;15960:38;16035:17;:7;16047:4;16035:11;:17::i;:28::-;16082:7;;;;-1:-1:-1;16108:4:0;;-1:-1:-1;15587:534:0;;-1:-1:-1;;;;;;;15587:534:0:o;2591:246::-;2649:7;2673:6;2669:47;;-1:-1:-1;2703:1:0;2696:8;;2669:47;2726:9;2738:5;2742:1;2738;:5;:::i;:::-;2726:17;-1:-1:-1;2771:1:0;2762:5;2766:1;2726:17;2762:5;:::i;:::-;:10;2754:56;;;;-1:-1:-1;;;2754:56:0;;13864:2:1;2754:56:0;;;13846:21:1;13903:2;13883:18;;;13876:30;13942:34;13922:18;;;13915:62;-1:-1:-1;;;13993:18:1;;;13986:31;14034:19;;2754:56:0;13662:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;3077:456::-;3154:6;3162;3170;3223:2;3211:9;3202:7;3198:23;3194:32;3191:52;;;3239:1;3236;3229:12;3191:52;3278:9;3265:23;3297:31;3322:5;3297:31;:::i;:::-;3347:5;-1:-1:-1;3404:2:1;3389:18;;3376:32;3417:33;3376:32;3417:33;:::i;:::-;3077:456;;3469:7;;-1:-1:-1;;;3523:2:1;3508:18;;;;3495:32;;3077:456::o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4187:160::-;4252:20;;4308:13;;4301:21;4291:32;;4281:60;;4337:1;4334;4327:12;4352:180;4408:6;4461:2;4449:9;4440:7;4436:23;4432:32;4429:52;;;4477:1;4474;4467:12;4429:52;4500:26;4516:9;4500:26;:::i;4537:180::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;-1:-1:-1;4688:23:1;;4537:180;-1:-1:-1;4537:180:1:o;4722:385::-;4808:6;4816;4824;4832;4885:3;4873:9;4864:7;4860:23;4856:33;4853:53;;;4902:1;4899;4892:12;4853:53;-1:-1:-1;;4925:23:1;;;4995:2;4980:18;;4967:32;;-1:-1:-1;5046:2:1;5031:18;;5018:32;;5097:2;5082:18;5069:32;;-1:-1:-1;4722:385:1;-1:-1:-1;4722:385:1:o;5112:689::-;5204:6;5212;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5329:9;5316:23;5358:18;5399:2;5391:6;5388:14;5385:34;;;5415:1;5412;5405:12;5385:34;5453:6;5442:9;5438:22;5428:32;;5498:7;5491:4;5487:2;5483:13;5479:27;5469:55;;5520:1;5517;5510:12;5469:55;5560:2;5547:16;5586:2;5578:6;5575:14;5572:34;;;5602:1;5599;5592:12;5572:34;5657:7;5650:4;5640:6;5637:1;5633:14;5629:2;5625:23;5621:34;5618:47;5615:67;;;5678:1;5675;5668:12;5615:67;5709:4;5701:13;;;;-1:-1:-1;5733:6:1;-1:-1:-1;5758:37:1;;5774:20;;;-1:-1:-1;5758:37:1;:::i;:::-;5748:47;;5112:689;;;;;:::o;5806:388::-;5874:6;5882;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5990:9;5977:23;6009:31;6034:5;6009:31;:::i;:::-;6059:5;-1:-1:-1;6116:2:1;6101:18;;6088:32;6129:33;6088:32;6129:33;:::i;:::-;6181:7;6171:17;;;5806:388;;;;;:::o;6199:356::-;6401:2;6383:21;;;6420:18;;;6413:30;6479:34;6474:2;6459:18;;6452:62;6546:2;6531:18;;6199:356::o;6560:127::-;6621:10;6616:3;6612:20;6609:1;6602:31;6652:4;6649:1;6642:15;6676:4;6673:1;6666:15;6692:127;6753:10;6748:3;6744:20;6741:1;6734:31;6784:4;6781:1;6774:15;6808:4;6805:1;6798:15;6824:135;6863:3;-1:-1:-1;;6884:17:1;;6881:43;;;6904:18;;:::i;:::-;-1:-1:-1;6951:1:1;6940:13;;6824:135::o;10592:128::-;10632:3;10663:1;10659:6;10656:1;10653:13;10650:39;;;10669:18;;:::i;:::-;-1:-1:-1;10705:9:1;;10592:128::o;11129:125::-;11169:4;11197:1;11194;11191:8;11188:34;;;11202:18;;:::i;:::-;-1:-1:-1;11239:9:1;;11129:125::o;11670:251::-;11740:6;11793:2;11781:9;11772:7;11768:23;11764:32;11761:52;;;11809:1;11806;11799:12;11761:52;11841:9;11835:16;11860:31;11885:5;11860:31;:::i;11926:980::-;12188:4;12236:3;12225:9;12221:19;12267:6;12256:9;12249:25;12293:2;12331:6;12326:2;12315:9;12311:18;12304:34;12374:3;12369:2;12358:9;12354:18;12347:31;12398:6;12433;12427:13;12464:6;12456;12449:22;12502:3;12491:9;12487:19;12480:26;;12541:2;12533:6;12529:15;12515:29;;12562:1;12572:195;12586:6;12583:1;12580:13;12572:195;;;12651:13;;-1:-1:-1;;;;;12647:39:1;12635:52;;12742:15;;;;12707:12;;;;12683:1;12601:9;12572:195;;;-1:-1:-1;;;;;;;12823:32:1;;;;12818:2;12803:18;;12796:60;-1:-1:-1;;;12887:3:1;12872:19;12865:35;12784:3;11926:980;-1:-1:-1;;;11926:980:1:o;12911:217::-;12951:1;12977;12967:132;;13021:10;13016:3;13012:20;13009:1;13002:31;13056:4;13053:1;13046:15;13084:4;13081:1;13074:15;12967:132;-1:-1:-1;13113:9:1;;12911:217::o;13489:168::-;13529:7;13595:1;13591;13587:6;13583:14;13580:1;13577:21;13572:1;13565:9;13558:17;13554:45;13551:71;;;13602:18;;:::i;:::-;-1:-1:-1;13642:9:1;;13489:168::o

Swarm Source

ipfs://2fb15fae198d954da6c364bf58f95c4c2f3fab618cf4828ff8548b5ba3cf620f

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.