ETH Price: $3,398.85 (+2.57%)

Contract

0x37927A0fB7F2d2504956EE88E5A4629dbA4C063B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve206690782024-09-03 9:13:11112 days ago1725354791IN
0x37927A0f...dbA4C063B
0 ETH0.000072142.9638806
Approve165134532023-01-29 15:45:11694 days ago1675007111IN
0x37927A0f...dbA4C063B
0 ETH0.0010978945.1027274
Transfer152281432022-07-28 1:57:39880 days ago1658973459IN
0x37927A0f...dbA4C063B
0 ETH0.0044908518.27468924
Approve152199732022-07-26 19:31:46881 days ago1658863906IN
0x37927A0f...dbA4C063B
0 ETH0.0004493718.46103547
Set Max Txn Amou...149622692022-06-14 14:41:40923 days ago1655217700IN
0x37927A0f...dbA4C063B
0 ETH0.0016219756.15484185
Set Max Wallet S...149622592022-06-14 14:40:27923 days ago1655217627IN
0x37927A0f...dbA4C063B
0 ETH0.0022632678.41965827
Approve149111922022-06-05 21:06:52932 days ago1654463212IN
0x37927A0f...dbA4C063B
0 ETH0.0014373359.04757688
Approve148880132022-06-02 0:54:19936 days ago1654131259IN
0x37927A0f...dbA4C063B
0 ETH0.0029480463.22751878
Approve148879532022-06-02 0:36:34936 days ago1654130194IN
0x37927A0f...dbA4C063B
0 ETH0.0022481448.21654558
Approve148877642022-06-01 23:54:34936 days ago1654127674IN
0x37927A0f...dbA4C063B
0 ETH0.0020734644.47019698
Approve148877292022-06-01 23:46:10936 days ago1654127170IN
0x37927A0f...dbA4C063B
0 ETH0.0032760670.26271973
Transfer148872492022-06-01 21:51:57936 days ago1654120317IN
0x37927A0f...dbA4C063B
0 ETH0.0030467436.28936749
Approve148863632022-06-01 18:29:41936 days ago1654108181IN
0x37927A0f...dbA4C063B
0 ETH0.0020793644.59658575
Approve148849942022-06-01 13:16:32936 days ago1654089392IN
0x37927A0f...dbA4C063B
0 ETH0.0018774140.26532294
Approve148844932022-06-01 11:21:36937 days ago1654082496IN
0x37927A0f...dbA4C063B
0 ETH0.0019513241.85052401
Approve148837092022-06-01 8:02:46937 days ago1654070566IN
0x37927A0f...dbA4C063B
0 ETH0.0016581935.56384136
Approve148836422022-06-01 7:44:02937 days ago1654069442IN
0x37927A0f...dbA4C063B
0 ETH0.0015814433.91771127
Approve148834812022-06-01 7:06:30937 days ago1654067190IN
0x37927A0f...dbA4C063B
0 ETH0.0019479441.77801479
Approve148834232022-06-01 6:51:17937 days ago1654066277IN
0x37927A0f...dbA4C063B
0 ETH0.0015096932.37885955
Approve148830682022-06-01 5:22:02937 days ago1654060922IN
0x37927A0f...dbA4C063B
0 ETH0.0021169245.40229737
Approve148830662022-06-01 5:21:18937 days ago1654060878IN
0x37927A0f...dbA4C063B
0 ETH0.0021036345.11728821
Approve148830462022-06-01 5:16:58937 days ago1654060618IN
0x37927A0f...dbA4C063B
0 ETH0.0018125738.87486825
Approve148830362022-06-01 5:14:12937 days ago1654060452IN
0x37927A0f...dbA4C063B
0 ETH0.0020503443.97425808
Approve148825212022-06-01 3:17:28937 days ago1654053448IN
0x37927A0f...dbA4C063B
0 ETH0.0028434760.98480498
Approve148821542022-06-01 1:48:47937 days ago1654048127IN
0x37927A0f...dbA4C063B
0 ETH0.0018227139.09230845
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
152281432022-07-28 1:57:39880 days ago1658973459
0x37927A0f...dbA4C063B
0 ETH
152281432022-07-28 1:57:39880 days ago1658973459
0x37927A0f...dbA4C063B
0 ETH
149055302022-06-04 22:08:59933 days ago1654380539
0x37927A0f...dbA4C063B
0.0167534 ETH
149055302022-06-04 22:08:59933 days ago1654380539
0x37927A0f...dbA4C063B
0.0167534 ETH
148832602022-06-01 6:14:15937 days ago1654064055
0x37927A0f...dbA4C063B
0.03131157 ETH
148832602022-06-01 6:14:15937 days ago1654064055
0x37927A0f...dbA4C063B
0.03131157 ETH
148821832022-06-01 1:55:29937 days ago1654048529
0x37927A0f...dbA4C063B
0.06318191 ETH
148821832022-06-01 1:55:29937 days ago1654048529
0x37927A0f...dbA4C063B
0.06318191 ETH
148821572022-06-01 1:49:08937 days ago1654048148
0x37927A0f...dbA4C063B
0.06078806 ETH
148821572022-06-01 1:49:08937 days ago1654048148
0x37927A0f...dbA4C063B
0.06078806 ETH
148820262022-06-01 1:20:12937 days ago1654046412
0x37927A0f...dbA4C063B
0.0626133 ETH
148820262022-06-01 1:20:12937 days ago1654046412
0x37927A0f...dbA4C063B
0.0626133 ETH
148820202022-06-01 1:17:56937 days ago1654046276
0x37927A0f...dbA4C063B
0.06708506 ETH
148820202022-06-01 1:17:56937 days ago1654046276
0x37927A0f...dbA4C063B
0.06708506 ETH
148819622022-06-01 1:09:04937 days ago1654045744
0x37927A0f...dbA4C063B
0.07582996 ETH
148819622022-06-01 1:09:04937 days ago1654045744
0x37927A0f...dbA4C063B
0.07582996 ETH
148819572022-06-01 1:07:26937 days ago1654045646
0x37927A0f...dbA4C063B
0.07837154 ETH
148819572022-06-01 1:07:26937 days ago1654045646
0x37927A0f...dbA4C063B
0.07837154 ETH
148819552022-06-01 1:07:04937 days ago1654045624
0x37927A0f...dbA4C063B
0.08927608 ETH
148819552022-06-01 1:07:04937 days ago1654045624
0x37927A0f...dbA4C063B
0.08927608 ETH
148819012022-06-01 0:55:02937 days ago1654044902
0x37927A0f...dbA4C063B
0.10318295 ETH
148819012022-06-01 0:55:02937 days ago1654044902
0x37927A0f...dbA4C063B
0.10318295 ETH
148814322022-05-31 23:02:50937 days ago1654038170
0x37927A0f...dbA4C063B
0.19713411 ETH
148814322022-05-31 23:02:50937 days ago1654038170
0x37927A0f...dbA4C063B
0.19713411 ETH
148813992022-05-31 22:53:48937 days ago1654037628
0x37927A0f...dbA4C063B
0.15287752 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DrManhattan

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/*
Starting taxes:
BUYS 6% | 1% Reflections | 5% Marketing
SELLS 6% | 5% Reflections | 1% Marketing

Telegram: https://t.me/DrManhattanPortal
*/


//SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
 
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 DrManhattan is Context, IERC20, Ownable {
 //@TresFlames
    using SafeMath for uint256;
 
    string private constant _name = "Dr Manhattan";//
    string private constant _symbol = "$DR";//
    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;
    mapping(address => bool) public bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public launchBlock;
    uint256 private deadblocks = 3;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 1;//
    uint256 private _taxFeeOnBuy = 5;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 5;//
    uint256 private _taxFeeOnSell = 1;//
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    address payable private _marketingAddress = payable(0xf4f42513CD4Ab882aBf8030B137f5d7AC1C2c155);//
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal * 2 / 100; //
    uint256 public _maxWalletSize = _tTotal * 2 / 100; //
    uint256 private _swapTokensAtAmount = 30000 * 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[_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 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(block.number <= (launchBlock+deadblocks) && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){   
                bots[to] = true;
            } 
 
            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();
                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(block.number <= (launchBlock+deadblocks) && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){
                _taxFee = 90;
                 }else _taxFee = _taxFeeOnBuy;
                _redisFee = _redisFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth() private lockTheSwap {
        uint256 amount = _swapTokensAtAmount;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), amount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }
 
    function setTrading() public onlyOwner {
        require(!tradingOpen);
        tradingOpen = true;
        launchBlock = block.number;
    }
 
    function manualswap() external {
        require(_msgSender() == _marketingAddress);
        swapTokensForEth();
    }
 
    function manualsend() external {
        require(_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;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxPercent) public onlyOwner {
        _maxTxAmount = _tTotal * maxTxPercent / 100;
    }
 
    function setMaxWalletSize(uint256 maxWalletPercent) public onlyOwner {
        _maxWalletSize = _tTotal * maxWalletPercent / 100;
    }
 
    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":[],"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"maxTxPercent","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

608060405262000019662386f26fc100006000196200038f565b6200002790600019620003bc565b6007556003600a556001600b8190556005600c819055600d819055600e829055600f8190556010829055601155601255601380546001600160a01b03191673f4f42513cd4ab882abf8030b137f5d7ac1c2c1551790556015805461ffff60a81b1916600160b01b1790556064620000a7662386f26fc100006002620003d6565b620000b39190620003f8565b6016556064620000cc662386f26fc100006002620003d6565b620000d89190620003f8565b601755651b48eb57e000601855348015620000f257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d691906200040f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024a91906200040f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000298573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002be91906200040f565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200036a91815260200190565b60405180910390a35062000441565b634e487b7160e01b600052601260045260246000fd5b600082620003a157620003a162000379565b500690565b634e487b7160e01b600052601160045260246000fd5b600082821015620003d157620003d1620003a6565b500390565b6000816000190483118215151615620003f357620003f3620003a6565b500290565b6000826200040a576200040a62000379565b500490565b6000602082840312156200042257600080fd5b81516001600160a01b03811681146200043a57600080fd5b9392505050565b611e8180620004516000396000f3fe6080604052600436106101c55760003560e01c80637c519ffb116100f7578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461051c578063dd62ed3e14610532578063ea1644d514610578578063f2fde38b1461059857600080fd5b8063a9059cbb14610497578063bfd79284146104b7578063c3c8cd80146104e7578063c492f046146104fc57600080fd5b80638f9a55c0116100d15780638f9a55c01461041557806395d89b411461042b57806398a5c31514610457578063a2a957bb1461047757600080fd5b80637c519ffb146103cc5780637d1db4a5146103e15780638da5cb5b146103f757600080fd5b806349bd5a5e116101645780636fc3eaec1161013e5780636fc3eaec1461036257806370a0823114610377578063715018a61461039757806374010ece146103ac57600080fd5b806349bd5a5e146103025780636b999053146103225780636d8aa8f81461034257600080fd5b80631694505e116101a05780631694505e1461026a57806318160ddd146102a257806323b872dd146102c6578063313ce567146102e657600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023a57600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec3660046119d2565b6105b8565b005b3480156101ff57600080fd5b5060408051808201909152600c81526b22391026b0b73430ba3a30b760a11b60208201525b6040516102319190611a97565b60405180910390f35b34801561024657600080fd5b5061025a610255366004611aec565b610657565b6040519015158152602001610231565b34801561027657600080fd5b5060145461028a906001600160a01b031681565b6040516001600160a01b039091168152602001610231565b3480156102ae57600080fd5b50662386f26fc100005b604051908152602001610231565b3480156102d257600080fd5b5061025a6102e1366004611b18565b61066e565b3480156102f257600080fd5b5060405160098152602001610231565b34801561030e57600080fd5b5060155461028a906001600160a01b031681565b34801561032e57600080fd5b506101f161033d366004611b59565b6106d7565b34801561034e57600080fd5b506101f161035d366004611b86565b610722565b34801561036e57600080fd5b506101f161076a565b34801561038357600080fd5b506102b8610392366004611b59565b610797565b3480156103a357600080fd5b506101f16107b9565b3480156103b857600080fd5b506101f16103c7366004611ba1565b61082d565b3480156103d857600080fd5b506101f161087a565b3480156103ed57600080fd5b506102b860165481565b34801561040357600080fd5b506000546001600160a01b031661028a565b34801561042157600080fd5b506102b860175481565b34801561043757600080fd5b5060408051808201909152600381526212222960e91b6020820152610224565b34801561046357600080fd5b506101f1610472366004611ba1565b6108d4565b34801561048357600080fd5b506101f1610492366004611bba565b610903565b3480156104a357600080fd5b5061025a6104b2366004611aec565b610941565b3480156104c357600080fd5b5061025a6104d2366004611b59565b60066020526000908152604090205460ff1681565b3480156104f357600080fd5b506101f161094e565b34801561050857600080fd5b506101f1610517366004611bec565b610978565b34801561052857600080fd5b506102b860095481565b34801561053e57600080fd5b506102b861054d366004611c70565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058457600080fd5b506101f1610593366004611ba1565b610a19565b3480156105a457600080fd5b506101f16105b3366004611b59565b610a66565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611ca9565b60405180910390fd5b60005b81518110156106535760016006600084848151811061060f5761060f611cde565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061064b81611d0a565b9150506105ee565b5050565b6000610664338484610b50565b5060015b92915050565b600061067b848484610c74565b6106cd84336106c885604051806060016040528060288152602001611e24602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061126e565b610b50565b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016105e290611ca9565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316331461074c5760405162461bcd60e51b81526004016105e290611ca9565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b03161461078a57600080fd5b47610794816112a8565b50565b6001600160a01b038116600090815260026020526040812054610668906112e2565b6000546001600160a01b031633146107e35760405162461bcd60e51b81526004016105e290611ca9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105e290611ca9565b606461086a82662386f26fc10000611d25565b6108749190611d44565b60165550565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016105e290611ca9565b601554600160a01b900460ff16156108bb57600080fd5b6015805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b031633146108fe5760405162461bcd60e51b81526004016105e290611ca9565b601855565b6000546001600160a01b0316331461092d5760405162461bcd60e51b81526004016105e290611ca9565b600b93909355600d91909155600c55600e55565b6000610664338484610c74565b6013546001600160a01b0316336001600160a01b03161461096e57600080fd5b610976611366565b565b6000546001600160a01b031633146109a25760405162461bcd60e51b81526004016105e290611ca9565b60005b82811015610a135781600560008686858181106109c4576109c4611cde565b90506020020160208101906109d99190611b59565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0b81611d0a565b9150506109a5565b50505050565b6000546001600160a01b03163314610a435760405162461bcd60e51b81526004016105e290611ca9565b6064610a5682662386f26fc10000611d25565b610a609190611d44565b60175550565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016105e290611ca9565b6001600160a01b038116610af55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bb25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e2565b6001600160a01b038216610c135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e2565b6001600160a01b038216610d3a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e2565b60008111610d9c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e2565b6000546001600160a01b03848116911614801590610dc857506000546001600160a01b03838116911614155b1561112c57601554600160a01b900460ff16610e61576000546001600160a01b03848116911614610e615760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e2565b601654811115610eb35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e2565b6001600160a01b03831660009081526006602052604090205460ff16158015610ef557506001600160a01b03821660009081526006602052604090205460ff16155b610f4d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e2565b600a54600954610f5d9190611d66565b4311158015610f7957506015546001600160a01b038481169116145b8015610f9357506014546001600160a01b03838116911614155b8015610fa857506001600160a01b0382163014155b15610fd1576001600160a01b0382166000908152600660205260409020805460ff191660011790555b6015546001600160a01b038381169116146110565760175481610ff384610797565b610ffd9190611d66565b106110565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e2565b600061106130610797565b60185460165491925082101590821061107a5760165491505b8080156110915750601554600160a81b900460ff16155b80156110ab57506015546001600160a01b03868116911614155b80156110c05750601554600160b01b900460ff165b80156110e557506001600160a01b03851660009081526005602052604090205460ff16155b801561110a57506001600160a01b03841660009081526005602052604090205460ff16155b1561112957611117611366565b47801561112757611127476112a8565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061116e57506001600160a01b03831660009081526005602052604090205460ff165b806111a057506015546001600160a01b038581169116148015906111a057506015546001600160a01b03848116911614155b156111ad57506000611225565b600a546009546111bd9190611d66565b43111580156111d957506015546001600160a01b038581169116145b80156111f357506014546001600160a01b03848116911614155b801561120857506001600160a01b0383163014155b1561121757605a60105561121e565b600c546010555b600b54600f555b6015546001600160a01b03848116911614801561125057506014546001600160a01b03858116911614155b1561126257600d54600f55600e546010555b610a13848484846114e3565b600081848411156112925760405162461bcd60e51b81526004016105e29190611a97565b50600061129f8486611d7e565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610653573d6000803e3d6000fd5b60006007548211156113495760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e2565b6000611353611511565b905061135f8382611534565b9392505050565b6015805460ff60a81b1916600160a81b17905560185460408051600280825260608201835260009260208301908036833701905050905030816000815181106113b1576113b1611cde565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e9190611d95565b8160018151811061144157611441611cde565b6001600160a01b0392831660209182029290920101526014546114679130911684610b50565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a0908590600090869030904290600401611db2565b600060405180830381600087803b1580156114ba57600080fd5b505af11580156114ce573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114f0576114f0611576565b6114fb8484846115a4565b80610a1357610a13601154600f55601254601055565b600080600061151e61169b565b909250905061152d8282611534565b9250505090565b600061135f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116d9565b600f541580156115865750601054155b1561158d57565b600f80546011556010805460125560009182905555565b6000806000806000806115b687611707565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115e89087611764565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461161790866117a6565b6001600160a01b03891660009081526002602052604090205561163981611805565b611643848361184f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161168891815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc100006116b58282611534565b8210156116d057505060075492662386f26fc1000092509050565b90939092509050565b600081836116fa5760405162461bcd60e51b81526004016105e29190611a97565b50600061129f8486611d44565b60008060008060008060008060006117248a600f54601054611873565b9250925092506000611734611511565b905060008060006117478e8787876118c8565b919e509c509a509598509396509194505050505091939550919395565b600061135f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061126e565b6000806117b38385611d66565b90508381101561135f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b600061180f611511565b9050600061181d8383611918565b3060009081526002602052604090205490915061183a90826117a6565b30600090815260026020526040902055505050565b60075461185c9083611764565b60075560085461186c90826117a6565b6008555050565b600080808061188d60646118878989611918565b90611534565b905060006118a060646118878a89611918565b905060006118b8826118b28b86611764565b90611764565b9992985090965090945050505050565b60008080806118d78886611918565b905060006118e58887611918565b905060006118f38888611918565b90506000611905826118b28686611764565b939b939a50919850919650505050505050565b60008261192757506000610668565b60006119338385611d25565b9050826119408583611d44565b1461135f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461079457600080fd5b80356119cd816119ad565b919050565b600060208083850312156119e557600080fd5b823567ffffffffffffffff808211156119fd57600080fd5b818501915085601f830112611a1157600080fd5b813581811115611a2357611a23611997565b8060051b604051601f19603f83011681018181108582111715611a4857611a48611997565b604052918252848201925083810185019188831115611a6657600080fd5b938501935b82851015611a8b57611a7c856119c2565b84529385019392850192611a6b565b98975050505050505050565b600060208083528351808285015260005b81811015611ac457858101830151858201604001528201611aa8565b81811115611ad6576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611aff57600080fd5b8235611b0a816119ad565b946020939093013593505050565b600080600060608486031215611b2d57600080fd5b8335611b38816119ad565b92506020840135611b48816119ad565b929592945050506040919091013590565b600060208284031215611b6b57600080fd5b813561135f816119ad565b803580151581146119cd57600080fd5b600060208284031215611b9857600080fd5b61135f82611b76565b600060208284031215611bb357600080fd5b5035919050565b60008060008060808587031215611bd057600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611c0157600080fd5b833567ffffffffffffffff80821115611c1957600080fd5b818601915086601f830112611c2d57600080fd5b813581811115611c3c57600080fd5b8760208260051b8501011115611c5157600080fd5b602092830195509350611c679186019050611b76565b90509250925092565b60008060408385031215611c8357600080fd5b8235611c8e816119ad565b91506020830135611c9e816119ad565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611d1e57611d1e611cf4565b5060010190565b6000816000190483118215151615611d3f57611d3f611cf4565b500290565b600082611d6157634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611d7957611d79611cf4565b500190565b600082821015611d9057611d90611cf4565b500390565b600060208284031215611da757600080fd5b815161135f816119ad565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e025784516001600160a01b031683529383019391830191600101611ddd565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204467d1c98d75eff22fa32ccc1db9262160f6f73a2fe7cd249afc12b5795ec52364736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101c55760003560e01c80637c519ffb116100f7578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461051c578063dd62ed3e14610532578063ea1644d514610578578063f2fde38b1461059857600080fd5b8063a9059cbb14610497578063bfd79284146104b7578063c3c8cd80146104e7578063c492f046146104fc57600080fd5b80638f9a55c0116100d15780638f9a55c01461041557806395d89b411461042b57806398a5c31514610457578063a2a957bb1461047757600080fd5b80637c519ffb146103cc5780637d1db4a5146103e15780638da5cb5b146103f757600080fd5b806349bd5a5e116101645780636fc3eaec1161013e5780636fc3eaec1461036257806370a0823114610377578063715018a61461039757806374010ece146103ac57600080fd5b806349bd5a5e146103025780636b999053146103225780636d8aa8f81461034257600080fd5b80631694505e116101a05780631694505e1461026a57806318160ddd146102a257806323b872dd146102c6578063313ce567146102e657600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023a57600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec3660046119d2565b6105b8565b005b3480156101ff57600080fd5b5060408051808201909152600c81526b22391026b0b73430ba3a30b760a11b60208201525b6040516102319190611a97565b60405180910390f35b34801561024657600080fd5b5061025a610255366004611aec565b610657565b6040519015158152602001610231565b34801561027657600080fd5b5060145461028a906001600160a01b031681565b6040516001600160a01b039091168152602001610231565b3480156102ae57600080fd5b50662386f26fc100005b604051908152602001610231565b3480156102d257600080fd5b5061025a6102e1366004611b18565b61066e565b3480156102f257600080fd5b5060405160098152602001610231565b34801561030e57600080fd5b5060155461028a906001600160a01b031681565b34801561032e57600080fd5b506101f161033d366004611b59565b6106d7565b34801561034e57600080fd5b506101f161035d366004611b86565b610722565b34801561036e57600080fd5b506101f161076a565b34801561038357600080fd5b506102b8610392366004611b59565b610797565b3480156103a357600080fd5b506101f16107b9565b3480156103b857600080fd5b506101f16103c7366004611ba1565b61082d565b3480156103d857600080fd5b506101f161087a565b3480156103ed57600080fd5b506102b860165481565b34801561040357600080fd5b506000546001600160a01b031661028a565b34801561042157600080fd5b506102b860175481565b34801561043757600080fd5b5060408051808201909152600381526212222960e91b6020820152610224565b34801561046357600080fd5b506101f1610472366004611ba1565b6108d4565b34801561048357600080fd5b506101f1610492366004611bba565b610903565b3480156104a357600080fd5b5061025a6104b2366004611aec565b610941565b3480156104c357600080fd5b5061025a6104d2366004611b59565b60066020526000908152604090205460ff1681565b3480156104f357600080fd5b506101f161094e565b34801561050857600080fd5b506101f1610517366004611bec565b610978565b34801561052857600080fd5b506102b860095481565b34801561053e57600080fd5b506102b861054d366004611c70565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058457600080fd5b506101f1610593366004611ba1565b610a19565b3480156105a457600080fd5b506101f16105b3366004611b59565b610a66565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611ca9565b60405180910390fd5b60005b81518110156106535760016006600084848151811061060f5761060f611cde565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061064b81611d0a565b9150506105ee565b5050565b6000610664338484610b50565b5060015b92915050565b600061067b848484610c74565b6106cd84336106c885604051806060016040528060288152602001611e24602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061126e565b610b50565b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016105e290611ca9565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316331461074c5760405162461bcd60e51b81526004016105e290611ca9565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b03161461078a57600080fd5b47610794816112a8565b50565b6001600160a01b038116600090815260026020526040812054610668906112e2565b6000546001600160a01b031633146107e35760405162461bcd60e51b81526004016105e290611ca9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105e290611ca9565b606461086a82662386f26fc10000611d25565b6108749190611d44565b60165550565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016105e290611ca9565b601554600160a01b900460ff16156108bb57600080fd5b6015805460ff60a01b1916600160a01b17905543600955565b6000546001600160a01b031633146108fe5760405162461bcd60e51b81526004016105e290611ca9565b601855565b6000546001600160a01b0316331461092d5760405162461bcd60e51b81526004016105e290611ca9565b600b93909355600d91909155600c55600e55565b6000610664338484610c74565b6013546001600160a01b0316336001600160a01b03161461096e57600080fd5b610976611366565b565b6000546001600160a01b031633146109a25760405162461bcd60e51b81526004016105e290611ca9565b60005b82811015610a135781600560008686858181106109c4576109c4611cde565b90506020020160208101906109d99190611b59565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0b81611d0a565b9150506109a5565b50505050565b6000546001600160a01b03163314610a435760405162461bcd60e51b81526004016105e290611ca9565b6064610a5682662386f26fc10000611d25565b610a609190611d44565b60175550565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016105e290611ca9565b6001600160a01b038116610af55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bb25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e2565b6001600160a01b038216610c135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e2565b6001600160a01b038216610d3a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e2565b60008111610d9c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e2565b6000546001600160a01b03848116911614801590610dc857506000546001600160a01b03838116911614155b1561112c57601554600160a01b900460ff16610e61576000546001600160a01b03848116911614610e615760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e2565b601654811115610eb35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e2565b6001600160a01b03831660009081526006602052604090205460ff16158015610ef557506001600160a01b03821660009081526006602052604090205460ff16155b610f4d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e2565b600a54600954610f5d9190611d66565b4311158015610f7957506015546001600160a01b038481169116145b8015610f9357506014546001600160a01b03838116911614155b8015610fa857506001600160a01b0382163014155b15610fd1576001600160a01b0382166000908152600660205260409020805460ff191660011790555b6015546001600160a01b038381169116146110565760175481610ff384610797565b610ffd9190611d66565b106110565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e2565b600061106130610797565b60185460165491925082101590821061107a5760165491505b8080156110915750601554600160a81b900460ff16155b80156110ab57506015546001600160a01b03868116911614155b80156110c05750601554600160b01b900460ff165b80156110e557506001600160a01b03851660009081526005602052604090205460ff16155b801561110a57506001600160a01b03841660009081526005602052604090205460ff16155b1561112957611117611366565b47801561112757611127476112a8565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061116e57506001600160a01b03831660009081526005602052604090205460ff165b806111a057506015546001600160a01b038581169116148015906111a057506015546001600160a01b03848116911614155b156111ad57506000611225565b600a546009546111bd9190611d66565b43111580156111d957506015546001600160a01b038581169116145b80156111f357506014546001600160a01b03848116911614155b801561120857506001600160a01b0383163014155b1561121757605a60105561121e565b600c546010555b600b54600f555b6015546001600160a01b03848116911614801561125057506014546001600160a01b03858116911614155b1561126257600d54600f55600e546010555b610a13848484846114e3565b600081848411156112925760405162461bcd60e51b81526004016105e29190611a97565b50600061129f8486611d7e565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610653573d6000803e3d6000fd5b60006007548211156113495760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e2565b6000611353611511565b905061135f8382611534565b9392505050565b6015805460ff60a81b1916600160a81b17905560185460408051600280825260608201835260009260208301908036833701905050905030816000815181106113b1576113b1611cde565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e9190611d95565b8160018151811061144157611441611cde565b6001600160a01b0392831660209182029290920101526014546114679130911684610b50565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a0908590600090869030904290600401611db2565b600060405180830381600087803b1580156114ba57600080fd5b505af11580156114ce573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114f0576114f0611576565b6114fb8484846115a4565b80610a1357610a13601154600f55601254601055565b600080600061151e61169b565b909250905061152d8282611534565b9250505090565b600061135f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116d9565b600f541580156115865750601054155b1561158d57565b600f80546011556010805460125560009182905555565b6000806000806000806115b687611707565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115e89087611764565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461161790866117a6565b6001600160a01b03891660009081526002602052604090205561163981611805565b611643848361184f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161168891815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc100006116b58282611534565b8210156116d057505060075492662386f26fc1000092509050565b90939092509050565b600081836116fa5760405162461bcd60e51b81526004016105e29190611a97565b50600061129f8486611d44565b60008060008060008060008060006117248a600f54601054611873565b9250925092506000611734611511565b905060008060006117478e8787876118c8565b919e509c509a509598509396509194505050505091939550919395565b600061135f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061126e565b6000806117b38385611d66565b90508381101561135f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b600061180f611511565b9050600061181d8383611918565b3060009081526002602052604090205490915061183a90826117a6565b30600090815260026020526040902055505050565b60075461185c9083611764565b60075560085461186c90826117a6565b6008555050565b600080808061188d60646118878989611918565b90611534565b905060006118a060646118878a89611918565b905060006118b8826118b28b86611764565b90611764565b9992985090965090945050505050565b60008080806118d78886611918565b905060006118e58887611918565b905060006118f38888611918565b90506000611905826118b28686611764565b939b939a50919850919650505050505050565b60008261192757506000610668565b60006119338385611d25565b9050826119408583611d44565b1461135f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461079457600080fd5b80356119cd816119ad565b919050565b600060208083850312156119e557600080fd5b823567ffffffffffffffff808211156119fd57600080fd5b818501915085601f830112611a1157600080fd5b813581811115611a2357611a23611997565b8060051b604051601f19603f83011681018181108582111715611a4857611a48611997565b604052918252848201925083810185019188831115611a6657600080fd5b938501935b82851015611a8b57611a7c856119c2565b84529385019392850192611a6b565b98975050505050505050565b600060208083528351808285015260005b81811015611ac457858101830151858201604001528201611aa8565b81811115611ad6576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611aff57600080fd5b8235611b0a816119ad565b946020939093013593505050565b600080600060608486031215611b2d57600080fd5b8335611b38816119ad565b92506020840135611b48816119ad565b929592945050506040919091013590565b600060208284031215611b6b57600080fd5b813561135f816119ad565b803580151581146119cd57600080fd5b600060208284031215611b9857600080fd5b61135f82611b76565b600060208284031215611bb357600080fd5b5035919050565b60008060008060808587031215611bd057600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611c0157600080fd5b833567ffffffffffffffff80821115611c1957600080fd5b818601915086601f830112611c2d57600080fd5b813581811115611c3c57600080fd5b8760208260051b8501011115611c5157600080fd5b602092830195509350611c679186019050611b76565b90509250925092565b60008060408385031215611c8357600080fd5b8235611c8e816119ad565b91506020830135611c9e816119ad565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611d1e57611d1e611cf4565b5060010190565b6000816000190483118215151615611d3f57611d3f611cf4565b500290565b600082611d6157634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611d7957611d79611cf4565b500190565b600082821015611d9057611d90611cf4565b500390565b600060208284031215611da757600080fd5b815161135f816119ad565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e025784516001600160a01b031683529383019391830191600101611ddd565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204467d1c98d75eff22fa32ccc1db9262160f6f73a2fe7cd249afc12b5795ec52364736f6c634300080a0033

Deployed Bytecode Sourcemap

4245:13655:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13093:169;;;;;;;;;;-1:-1:-1;13093:169:0;;;;;:::i;:::-;;:::i;:::-;;6699:83;;;;;;;;;;-1:-1:-1;6769:5:0;;;;;;;;;;;;-1:-1:-1;;;6769:5:0;;;;6699:83;;;;;;;:::i;:::-;;;;;;;;7631:193;;;;;;;;;;-1:-1:-1;7631:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7631:193:0;2469:187:1;5582:41:0;;;;;;;;;;-1:-1:-1;5582:41:0;;;;-1:-1:-1;;;;;5582:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5582:41:0;2661:229:1;6979:95:0;;;;;;;;;;-1:-1:-1;4861:16:0;6979:95;;;3041:25:1;;;3029:2;3014:18;6979:95:0;2895:177:1;7833:446:0;;;;;;;;;;-1:-1:-1;7833:446:0;;;;;:::i;:::-;;:::i;6887:83::-;;;;;;;;;;-1:-1:-1;6887:83:0;;4491:1;3680:36:1;;3668:2;3653:18;6887:83:0;3538:184:1;5630:28:0;;;;;;;;;;-1:-1:-1;5630:28:0;;;;-1:-1:-1;;;;;5630:28:0;;;13271:92;;;;;;;;;;-1:-1:-1;13271:92:0;;;;;:::i;:::-;;:::i;17241:101::-;;;;;;;;;;-1:-1:-1;17241:101:0;;;;;:::i;:::-;;:::i;12888:196::-;;;;;;;;;;;;;:::i;7083:138::-;;;;;;;;;;-1:-1:-1;7083:138:0;;;;;:::i;:::-;;:::i;1724:148::-;;;;;;;;;;;;;:::i;17382:126::-;;;;;;;;;;-1:-1:-1;17382:126:0;;;;;:::i;:::-;;:::i;12604:145::-;;;;;;;;;;;;;:::i;5774:47::-;;;;;;;;;;;;;;;;1508:79;;;;;;;;;;-1:-1:-1;1546:7:0;1573:6;-1:-1:-1;;;;;1573:6:0;1508:79;;5831:49;;;;;;;;;;;;;;;;6791:87;;;;;;;;;;-1:-1:-1;6863:7:0;;;;;;;;;;;;-1:-1:-1;;;6863:7:0;;;;6791:87;;17093:139;;;;;;;;;;-1:-1:-1;17093:139:0;;;;;:::i;:::-;;:::i;16794:291::-;;;;;;;;;;-1:-1:-1;16794:291:0;;;;;:::i;:::-;;:::i;7230:199::-;;;;;;;;;;-1:-1:-1;7230:199:0;;;;;:::i;:::-;;:::i;4734:36::-;;;;;;;;;;-1:-1:-1;4734:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12758:121;;;;;;;;;;;;;:::i;17663:234::-;;;;;;;;;;-1:-1:-1;17663:234:0;;;;;:::i;:::-;;:::i;4973:26::-;;;;;;;;;;;;;;;;7438:184;;;;;;;;;;-1:-1:-1;7438:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7587:18:0;;;7555:7;7587:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7438:184;17517:137;;;;;;;;;;-1:-1:-1;17517:137:0;;;;;:::i;:::-;;:::i;1881:244::-;;;;;;;;;;-1:-1:-1;1881:244:0;;;;;:::i;:::-;;:::i;13093:169::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;;;;;;;;;13169:9:::1;13164:91;13188:5;:12;13184:1;:16;13164:91;;;13239:4;13222;:14;13227:5;13233:1;13227:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13222:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13222:14:0;:21;;-1:-1:-1;;13222:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13202:3;::::1;::::0;::::1;:::i;:::-;;;;13164:91;;;;13093:169:::0;:::o;7631:193::-;7733:4;7755:39;338:10;7778:7;7787:6;7755:8;:39::i;:::-;-1:-1:-1;7812:4:0;7631:193;;;;;:::o;7833:446::-;7965:4;7982:36;7992:6;8000:9;8011:6;7982:9;:36::i;:::-;8029:220;8052:6;338:10;8100:138;8156:6;8100:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8100:19:0;;;;;;:11;:19;;;;;;;;338:10;8100:33;;;;;;;;;;:37;:138::i;:::-;8029:8;:220::i;:::-;-1:-1:-1;8267:4:0;7833:446;;;;;:::o;13271:92::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13335:12:0::1;13350:5;13335:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13335:20:0::1;::::0;;13271:92::o;17241:101::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;17308:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17308:26:0::1;-1:-1:-1::0;;;;17308:26:0;;::::1;::::0;;;::::1;::::0;;17241:101::o;12888:196::-;12954:17;;-1:-1:-1;;;;;12954:17:0;338:10;-1:-1:-1;;;;;12938:33:0;;12930:42;;;;;;13012:21;13044:32;13012:21;13044:12;:32::i;:::-;12919:165;12888:196::o;7083:138::-;-1:-1:-1;;;;;7196:16:0;;7149:7;7196:16;;;:7;:16;;;;;;7176:37;;:19;:37::i;1724:148::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;1831:1:::1;1815:6:::0;;1794:40:::1;::::0;-1:-1:-1;;;;;1815:6:0;;::::1;::::0;1794:40:::1;::::0;1831:1;;1794:40:::1;1862:1;1845:19:::0;;-1:-1:-1;;;;;;1845:19:0::1;::::0;;1724:148::o;17382:126::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;17497:3:::1;17472:22;17482:12:::0;4861:16:::1;17472:22;:::i;:::-;:28;;;;:::i;:::-;17457:12;:43:::0;-1:-1:-1;17382:126:0:o;12604:145::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;12663:11:::1;::::0;-1:-1:-1;;;12663:11:0;::::1;;;12662:12;12654:21;;;::::0;::::1;;12686:11;:18:::0;;-1:-1:-1;;;;12686:18:0::1;-1:-1:-1::0;;;12686:18:0::1;::::0;;12729:12:::1;12715:11;:26:::0;12604:145::o;17093:139::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;17184:19:::1;:40:::0;17093:139::o;16794:291::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;16928:14:::1;:30:::0;;;;16969:15:::1;:32:::0;;;;17012:12:::1;:26:::0;17049:13:::1;:28:::0;16794:291::o;7230:199::-;7335:4;7357:42;338:10;7381:9;7392:6;7357:9;:42::i;12758:121::-;12824:17;;-1:-1:-1;;;;;12824:17:0;338:10;-1:-1:-1;;;;;12808:33:0;;12800:42;;;;;;12853:18;:16;:18::i;:::-;12758:121::o;17663:234::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;17780:9:::1;17776:114;17795:19:::0;;::::1;17776:114;;;17870:8;17836:18;:31;17855:8;;17864:1;17855:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17836:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17836:31:0;:42;;-1:-1:-1;;17836:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17816:3;::::1;::::0;::::1;:::i;:::-;;;;17776:114;;;;17663:234:::0;;;:::o;17517:137::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;17643:3:::1;17614:26;17624:16:::0;4861::::1;17614:26;:::i;:::-;:32;;;;:::i;:::-;17597:14;:49:::0;-1:-1:-1;17517:137:0:o;1881:244::-;1636:6;;-1:-1:-1;;;;;1636:6:0;338:10;1636:22;1628:67;;;;-1:-1:-1;;;1628:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1970:22:0;::::1;1962:73;;;::::0;-1:-1:-1;;;1962:73:0;;7561:2:1;1962:73:0::1;::::0;::::1;7543:21:1::0;7600:2;7580:18;;;7573:30;7639:34;7619:18;;;7612:62;-1:-1:-1;;;7690:18:1;;;7683:36;7736:19;;1962:73:0::1;7359:402:1::0;1962:73:0::1;2072:6;::::0;;2051:38:::1;::::0;-1:-1:-1;;;;;2051:38:0;;::::1;::::0;2072:6;::::1;::::0;2051:38:::1;::::0;::::1;2100:6;:17:::0;;-1:-1:-1;;;;;;2100:17:0::1;-1:-1:-1::0;;;;;2100:17:0;;;::::1;::::0;;;::::1;::::0;;1881:244::o;8976:369::-;-1:-1:-1;;;;;9103:19:0;;9095:68;;;;-1:-1:-1;;;9095:68:0;;7968:2:1;9095:68:0;;;7950:21:1;8007:2;7987:18;;;7980:30;8046:34;8026:18;;;8019:62;-1:-1:-1;;;8097:18:1;;;8090:34;8141:19;;9095:68:0;7766:400:1;9095:68:0;-1:-1:-1;;;;;9182:21:0;;9174:68;;;;-1:-1:-1;;;9174:68:0;;8373:2:1;9174:68:0;;;8355:21:1;8412:2;8392:18;;;8385:30;8451:34;8431:18;;;8424:62;-1:-1:-1;;;8502:18:1;;;8495:32;8544:19;;9174:68:0;8171:398:1;9174:68:0;-1:-1:-1;;;;;9253:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9305:32;;3041:25:1;;;9305:32:0;;3014:18:1;9305:32:0;;;;;;;8976:369;;;:::o;9354:2623::-;-1:-1:-1;;;;;9476:18:0;;9468:68;;;;-1:-1:-1;;;9468:68:0;;8776:2:1;9468:68:0;;;8758:21:1;8815:2;8795:18;;;8788:30;8854:34;8834:18;;;8827:62;-1:-1:-1;;;8905:18:1;;;8898:35;8950:19;;9468:68:0;8574:401:1;9468:68:0;-1:-1:-1;;;;;9555:16:0;;9547:64;;;;-1:-1:-1;;;9547:64:0;;9182:2:1;9547:64:0;;;9164:21:1;9221:2;9201:18;;;9194:30;9260:34;9240:18;;;9233:62;-1:-1:-1;;;9311:18:1;;;9304:33;9354:19;;9547:64:0;8980:399:1;9547:64:0;9639:1;9630:6;:10;9622:64;;;;-1:-1:-1;;;9622:64:0;;9586:2:1;9622:64:0;;;9568:21:1;9625:2;9605:18;;;9598:30;9664:34;9644:18;;;9637:62;-1:-1:-1;;;9715:18:1;;;9708:39;9764:19;;9622:64:0;9384:405:1;9622:64:0;1546:7;1573:6;-1:-1:-1;;;;;9704:15:0;;;1573:6;;9704:15;;;;:32;;-1:-1:-1;1546:7:0;1573:6;-1:-1:-1;;;;;9723:13:0;;;1573:6;;9723:13;;9704:32;9700:1442;;;9794:11;;-1:-1:-1;;;9794:11:0;;;;9789:144;;1546:7;1573:6;-1:-1:-1;;;;;9834:15:0;;;1573:6;;9834:15;9826:91;;;;-1:-1:-1;;;9826:91:0;;9996:2:1;9826:91:0;;;9978:21:1;10035:2;10015:18;;;10008:30;10074:34;10054:18;;;10047:62;10145:33;10125:18;;;10118:61;10196:19;;9826:91:0;9794:427:1;9826:91:0;9968:12;;9958:6;:22;;9950:63;;;;-1:-1:-1;;;9950:63:0;;10428:2:1;9950:63:0;;;10410:21:1;10467:2;10447:18;;;10440:30;10506;10486:18;;;10479:58;10554:18;;9950:63:0;10226:352:1;9950:63:0;-1:-1:-1;;;;;10037:10:0;;;;;;:4;:10;;;;;;;;10036:11;:24;;;;-1:-1:-1;;;;;;10052:8:0;;;;;;:4;:8;;;;;;;;10051:9;10036:24;10028:72;;;;-1:-1:-1;;;10028:72:0;;10785:2:1;10028:72:0;;;10767:21:1;10824:2;10804:18;;;10797:30;10863:34;10843:18;;;10836:62;-1:-1:-1;;;10914:18:1;;;10907:33;10957:19;;10028:72:0;10583:399:1;10028:72:0;10150:10;;10138:11;;:22;;;;:::i;:::-;10121:12;:40;;:65;;;;-1:-1:-1;10173:13:0;;-1:-1:-1;;;;;10165:21:0;;;10173:13;;10165:21;10121:65;:99;;;;-1:-1:-1;10204:15:0;;-1:-1:-1;;;;;10190:30:0;;;10204:15;;10190:30;;10121:99;:122;;;;-1:-1:-1;;;;;;10224:19:0;;10238:4;10224:19;;10121:122;10118:179;;;-1:-1:-1;;;;;10266:8:0;;;;;;:4;:8;;;;;:15;;-1:-1:-1;;10266:15:0;10277:4;10266:15;;;10118:179;10324:13;;-1:-1:-1;;;;;10318:19:0;;;10324:13;;10318:19;10315:146;;10391:14;;10382:6;10366:13;10376:2;10366:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10358:87;;;;-1:-1:-1;;;10358:87:0;;11322:2:1;10358:87:0;;;11304:21:1;11361:2;11341:18;;;11334:30;11400:34;11380:18;;;11373:62;-1:-1:-1;;;11451:18:1;;;11444:33;11494:19;;10358:87:0;11120:399:1;10358:87:0;10478:28;10509:24;10527:4;10509:9;:24::i;:::-;10587:19;;10651:12;;10478:55;;-1:-1:-1;10563:43:0;;;;10627:36;;10624:124;;10720:12;;10697:35;;10624:124;10769:7;:18;;;;-1:-1:-1;10781:6:0;;-1:-1:-1;;;10781:6:0;;;;10780:7;10769:18;:43;;;;-1:-1:-1;10799:13:0;;-1:-1:-1;;;;;10791:21:0;;;10799:13;;10791:21;;10769:43;:58;;;;-1:-1:-1;10816:11:0;;-1:-1:-1;;;10816:11:0;;;;10769:58;:87;;;;-1:-1:-1;;;;;;10832:24:0;;;;;;:18;:24;;;;;;;;10831:25;10769:87;:114;;;;-1:-1:-1;;;;;;10861:22:0;;;;;;:18;:22;;;;;;;;10860:23;10769:114;10765:366;;;10904:18;:16;:18::i;:::-;10970:21;11014:22;;11010:106;;11061:35;11074:21;11061:12;:35::i;:::-;10885:246;10765:366;9738:1404;;9700:1442;-1:-1:-1;;;;;11220:24:0;;11155:12;11220:24;;;:18;:24;;;;;;11170:4;;11220:24;;;:50;;-1:-1:-1;;;;;;11248:22:0;;;;;;:18;:22;;;;;;;;11220:50;11219:102;;;-1:-1:-1;11284:13:0;;-1:-1:-1;;;;;11276:21:0;;;11284:13;;11276:21;;;;:44;;-1:-1:-1;11307:13:0;;-1:-1:-1;;;;;11301:19:0;;;11307:13;;11301:19;;11276:44;11215:472;;;-1:-1:-1;11348:5:0;11215:472;;;11453:10;;11441:11;;:22;;;;:::i;:::-;11424:12;:40;;:65;;;;-1:-1:-1;11476:13:0;;-1:-1:-1;;;;;11468:21:0;;;11476:13;;11468:21;11424:65;:99;;;;-1:-1:-1;11507:15:0;;-1:-1:-1;;;;;11493:30:0;;;11507:15;;11493:30;;11424:99;:122;;;;-1:-1:-1;;;;;;11527:19:0;;11541:4;11527:19;;11424:122;11421:205;;;11576:2;11566:7;:12;11421:205;;;11614:12;;11604:7;:22;11421:205;11657:14;;11645:9;:26;11215:472;11747:13;;-1:-1:-1;;;;;11741:19:0;;;11747:13;;11741:19;:55;;;;-1:-1:-1;11780:15:0;;-1:-1:-1;;;;;11764:32:0;;;11780:15;;11764:32;;11741:55;11737:165;;;11829:15;;11817:9;:27;11873:13;;11863:7;:23;11737:165;11928:41;11943:4;11949:2;11953:6;11961:7;11928:14;:41::i;2493:224::-;2613:7;2649:12;2641:6;;;;2633:29;;;;-1:-1:-1;;;2633:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2673:9:0;2685:5;2689:1;2685;:5;:::i;:::-;2673:17;2493:224;-1:-1:-1;;;;;2493:224:0:o;12496:99::-;12553:17;;:34;;-1:-1:-1;;;;;12553:17:0;;;;:34;;;;;12580:6;;12553:17;:34;:17;:34;12580:6;12553:17;:34;;;;;;;;;;;;;;;;;;;8288:323;8383:7;8441;;8430;:18;;8408:110;;;;-1:-1:-1;;;8408:110:0;;11856:2:1;8408:110:0;;;11838:21:1;11895:2;11875:18;;;11868:30;11934:34;11914:18;;;11907:62;-1:-1:-1;;;11985:18:1;;;11978:40;12035:19;;8408:110:0;11654:406:1;8408:110:0;8529:19;8551:10;:8;:10::i;:::-;8529:32;-1:-1:-1;8579:24:0;:7;8529:32;8579:11;:24::i;:::-;8572:31;8288:323;-1:-1:-1;;;8288:323:0:o;11986:501::-;6039:6;:13;;-1:-1:-1;;;;6039:13:0;-1:-1:-1;;;6039:13:0;;;12062:19:::1;::::0;12116:16:::1;::::0;;12130:1:::1;12116:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12116:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12116:16:0::1;12092:40;;12161:4;12143;12148:1;12143:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12143:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12187:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12187:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12143:7;;12187:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12177:4;12182:1;12177:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12177:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12252:15:::1;::::0;12220:57:::1;::::0;12237:4:::1;::::0;12252:15:::1;12270:6:::0;12220:8:::1;:57::i;:::-;12288:15;::::0;:191:::1;::::0;-1:-1:-1;;;12288:191:0;;-1:-1:-1;;;;;12288:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;12369:6;;12288:15:::1;::::0;12406:4;;12433::::1;::::0;12453:15:::1;::::0;12288:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6075:6:0;:14;;-1:-1:-1;;;;6075:14:0;;;-1:-1:-1;;;;11986:501:0:o;13372:282::-;13528:7;13523:28;;13537:14;:12;:14::i;:::-;13562:44;13580:6;13588:9;13599:6;13562:17;:44::i;:::-;13622:7;13617:29;;13631:15;8906:17;;8894:9;:29;8944:15;;8934:7;:25;8850:117;16350:166;16392:7;16413:15;16430;16449:19;:17;:19::i;:::-;16412:56;;-1:-1:-1;16412:56:0;-1:-1:-1;16488:20:0;16412:56;;16488:11;:20::i;:::-;16481:27;;;;16350:166;:::o;2981:132::-;3039:7;3066:39;3070:1;3073;3066:39;;;;;;;;;;;;;;;;;:3;:39::i;8620:221::-;8667:9;;:14;:30;;;;-1:-1:-1;8685:7:0;;:12;8667:30;8663:43;;;8620:221::o;8663:43::-;8739:9;;;8719:17;:29;8777:7;;;8759:15;:25;-1:-1:-1;8798:13:0;;;;8822:11;8620:221::o;13663:610::-;13810:15;13840:23;13878:12;13905:23;13943:12;13970:13;13997:19;14008:7;13997:10;:19::i;:::-;-1:-1:-1;;;;;14045:15:0;;;;;;:7;:15;;;;;;13795:221;;-1:-1:-1;13795:221:0;;-1:-1:-1;13795:221:0;;-1:-1:-1;13795:221:0;-1:-1:-1;13795:221:0;-1:-1:-1;13795:221:0;-1:-1:-1;14045:28:0;;13795:221;14045:19;:28::i;:::-;-1:-1:-1;;;;;14027:15:0;;;;;;;:7;:15;;;;;;:46;;;;14105:18;;;;;;;:39;;14128:15;14105:22;:39::i;:::-;-1:-1:-1;;;;;14084:18:0;;;;;;:7;:18;;;;;:60;14155:16;14165:5;14155:9;:16::i;:::-;14182:23;14194:4;14200;14182:11;:23::i;:::-;14238:9;-1:-1:-1;;;;;14221:44:0;14230:6;-1:-1:-1;;;;;14221:44:0;;14249:15;14221:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;14221:44:0;;;;;;;;13784:489;;;;;;13663:610;;;:::o;16525:260::-;16623:7;;16576;;;;4861:16;16691:20;16623:7;4861:16;16691:11;:20::i;:::-;16681:7;:30;16677:61;;;-1:-1:-1;;16721:7:0;;;4861:16;;-1:-1:-1;16525:260:0;-1:-1:-1;16525:260:0:o;16677:61::-;16760:7;;16769;;-1:-1:-1;16525:260:0;-1:-1:-1;16525:260:0:o;3122:223::-;3242:7;3277:12;3270:5;3262:28;;;;-1:-1:-1;;;3262:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3301:9:0;3313:5;3317:1;3313;:5;:::i;14696:618::-;14796:7;14818;14840;14862;14884;14906;14942:23;14967:12;14981:13;15011:40;15023:7;15032:9;;15043:7;;15011:11;:40::i;:::-;14941:110;;;;;;15062:19;15084:10;:8;:10::i;:::-;15062:32;;15106:15;15123:23;15148:12;15177:46;15189:7;15198:4;15204:5;15211:11;15177;:46::i;:::-;15105:118;;-1:-1:-1;15105:118:0;-1:-1:-1;15105:118:0;-1:-1:-1;15277:15:0;;-1:-1:-1;15294:4:0;;-1:-1:-1;15300:5:0;;-1:-1:-1;;;;;14696:618:0;;;;;;;:::o;2348:136::-;2406:7;2433:43;2437:1;2440;2433:43;;;;;;;;;;;;;;;;;:3;:43::i;2160:179::-;2218:7;;2250:5;2254:1;2250;:5;:::i;:::-;2238:17;;2279:1;2274;:6;;2266:46;;;;-1:-1:-1;;;2266:46:0;;13508:2:1;2266:46:0;;;13490:21:1;13547:2;13527:18;;;13520:30;13586:29;13566:18;;;13559:57;13633:18;;2266:46:0;13306:351:1;14282:211:0;14335:19;14357:10;:8;:10::i;:::-;14335:32;-1:-1:-1;14378:13:0;14394:22;:5;14335:32;14394:9;:22::i;:::-;14468:4;14452:22;;;;:7;:22;;;;;;14378:38;;-1:-1:-1;14452:33:0;;14378:38;14452:26;:33::i;:::-;14443:4;14427:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14282:211:0:o;14502:147::-;14580:7;;:17;;14592:4;14580:11;:17::i;:::-;14570:7;:27;14621:10;;:20;;14636:4;14621:14;:20::i;:::-;14608:10;:33;-1:-1:-1;;14502:147:0:o;15323:472::-;15492:7;;;;15586:30;15612:3;15586:21;:7;15598:8;15586:11;:21::i;:::-;:25;;:30::i;:::-;15571:45;-1:-1:-1;15627:13:0;15643:28;15667:3;15643:19;:7;15655:6;15643:11;:19::i;:28::-;15627:44;-1:-1:-1;15682:23:0;15708:28;15627:44;15708:17;:7;15720:4;15708:11;:17::i;:::-;:21;;:28::i;:::-;15682:54;15775:4;;-1:-1:-1;15781:5:0;;-1:-1:-1;15323:472:0;;-1:-1:-1;;;;;15323:472:0:o;15804:537::-;15998:7;;;;16095:24;:7;16107:11;16095;:24::i;:::-;16077:42;-1:-1:-1;16130:12:0;16145:21;:4;16154:11;16145:8;:21::i;:::-;16130:36;-1:-1:-1;16177:13:0;16193:22;:5;16203:11;16193:9;:22::i;:::-;16177:38;-1:-1:-1;16226:23:0;16252:28;16177:38;16252:17;:7;16264:4;16252:11;:17::i;:28::-;16302:7;;;;-1:-1:-1;16328:4:0;;-1:-1:-1;15804:537:0;;-1:-1:-1;;;;;;;15804:537:0:o;2726:246::-;2784:7;2808:6;2804:47;;-1:-1:-1;2838:1:0;2831:8;;2804:47;2861:9;2873:5;2877:1;2873;:5;:::i;:::-;2861:17;-1:-1:-1;2906:1:0;2897:5;2901:1;2861:17;2897:5;:::i;:::-;:10;2889:56;;;;-1:-1:-1;;;2889:56:0;;13864:2:1;2889: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;;2889: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;6964:168::-;7004:7;7070:1;7066;7062:6;7058:14;7055:1;7052:21;7047:1;7040:9;7033:17;7029:45;7026:71;;;7077:18;;:::i;:::-;-1:-1:-1;7117:9:1;;6964:168::o;7137:217::-;7177:1;7203;7193:132;;7247:10;7242:3;7238:20;7235:1;7228:31;7282:4;7279:1;7272:15;7310:4;7307:1;7300:15;7193:132;-1:-1:-1;7339:9:1;;7137:217::o;10987:128::-;11027:3;11058:1;11054:6;11051:1;11048:13;11045:39;;;11064:18;;:::i;:::-;-1:-1:-1;11100:9:1;;10987:128::o;11524:125::-;11564:4;11592:1;11589;11586:8;11583:34;;;11597:18;;:::i;:::-;-1:-1:-1;11634:9:1;;11524:125::o;12065:251::-;12135:6;12188:2;12176:9;12167:7;12163:23;12159:32;12156:52;;;12204:1;12201;12194:12;12156:52;12236:9;12230:16;12255:31;12280:5;12255:31;:::i;12321:980::-;12583:4;12631:3;12620:9;12616:19;12662:6;12651:9;12644:25;12688:2;12726:6;12721:2;12710:9;12706:18;12699:34;12769:3;12764:2;12753:9;12749:18;12742:31;12793:6;12828;12822:13;12859:6;12851;12844:22;12897:3;12886:9;12882:19;12875:26;;12936:2;12928:6;12924:15;12910:29;;12957:1;12967:195;12981:6;12978:1;12975:13;12967:195;;;13046:13;;-1:-1:-1;;;;;13042:39:1;13030:52;;13137:15;;;;13102:12;;;;13078:1;12996:9;12967:195;;;-1:-1:-1;;;;;;;13218:32:1;;;;13213:2;13198:18;;13191:60;-1:-1:-1;;;13282:3:1;13267:19;13260:35;13179:3;12321:980;-1:-1:-1;;;12321:980:1:o

Swarm Source

ipfs://4467d1c98d75eff22fa32ccc1db9262160f6f73a2fe7cd249afc12b5795ec523

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.