ETH Price: $3,852.18 (-1.87%)

Contract

0xEFd711D45E9eeE4Bc8C5f58F9f57A31Ee596d34E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve203029352024-07-14 6:24:59154 days ago1720938299IN
0xEFd711D4...Ee596d34E
0 ETH0.000152413.27636765
Approve202063032024-06-30 18:30:35167 days ago1719772235IN
0xEFd711D4...Ee596d34E
0 ETH0.000091383.77049687
Approve202062962024-06-30 18:29:11167 days ago1719772151IN
0xEFd711D4...Ee596d34E
0 ETH0.000092853.82184062
Approve199280642024-05-22 21:20:11206 days ago1716412811IN
0xEFd711D4...Ee596d34E
0 ETH0.000239539.8831256
Approve188271192023-12-20 12:27:59360 days ago1703075279IN
0xEFd711D4...Ee596d34E
0 ETH0.0014857361.14881046
Approve187844892023-12-14 12:50:23366 days ago1702558223IN
0xEFd711D4...Ee596d34E
0 ETH0.0011852448.90222129
Approve184385342023-10-27 2:22:35415 days ago1698373355IN
0xEFd711D4...Ee596d34E
0 ETH0.0004362618
Approve183595722023-10-16 1:12:23426 days ago1697418743IN
0xEFd711D4...Ee596d34E
0 ETH0.000323456.95287262
Approve183559212023-10-15 12:57:23426 days ago1697374643IN
0xEFd711D4...Ee596d34E
0 ETH0.000135525.59150971
Approve182654902023-10-02 21:18:59439 days ago1696281539IN
0xEFd711D4...Ee596d34E
0 ETH0.0003759615.47362476
Approve181957502023-09-23 3:10:35449 days ago1695438635IN
0xEFd711D4...Ee596d34E
0 ETH0.000398678.55880837
Approve181619002023-09-18 9:19:35453 days ago1695028775IN
0xEFd711D4...Ee596d34E
0 ETH0.0005142111.11654909
Approve181580232023-09-17 20:11:11454 days ago1694981471IN
0xEFd711D4...Ee596d34E
0 ETH0.000369497.93222668
Approve180083522023-08-27 20:22:47475 days ago1693167767IN
0xEFd711D4...Ee596d34E
0 ETH0.0005302311.39781452
Approve179976542023-08-26 8:28:59476 days ago1693038539IN
0xEFd711D4...Ee596d34E
0 ETH0.0005045410.90743869
Approve179716462023-08-22 17:08:59480 days ago1692724139IN
0xEFd711D4...Ee596d34E
0 ETH0.0021842746.95250024
Approve179693712023-08-22 9:30:35480 days ago1692696635IN
0xEFd711D4...Ee596d34E
0 ETH0.0006466726.68149075
Approve179693462023-08-22 9:25:35480 days ago1692696335IN
0xEFd711D4...Ee596d34E
0 ETH0.0009304220
Approve179667352023-08-22 0:39:35481 days ago1692664775IN
0xEFd711D4...Ee596d34E
0 ETH0.0004005115.20967086
Approve179667332023-08-22 0:39:11481 days ago1692664751IN
0xEFd711D4...Ee596d34E
0 ETH0.00041415.72196695
Approve179667242023-08-22 0:37:23481 days ago1692664643IN
0xEFd711D4...Ee596d34E
0 ETH0.0004027915.29602224
Approve179667172023-08-22 0:35:59481 days ago1692664559IN
0xEFd711D4...Ee596d34E
0 ETH0.0004085815.51614774
Approve179647222023-08-21 17:55:23481 days ago1692640523IN
0xEFd711D4...Ee596d34E
0 ETH0.0012011925.96782736
Approve179634112023-08-21 13:30:23481 days ago1692624623IN
0xEFd711D4...Ee596d34E
0 ETH0.0009877821.35423952
Approve179616152023-08-21 7:28:47482 days ago1692602927IN
0xEFd711D4...Ee596d34E
0 ETH0.0006446613.83963995
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
179485522023-08-19 11:34:11483 days ago1692444851
0xEFd711D4...Ee596d34E
0.01047671 ETH
179485522023-08-19 11:34:11483 days ago1692444851
0xEFd711D4...Ee596d34E
0.01563688 ETH
179485522023-08-19 11:34:11483 days ago1692444851
0xEFd711D4...Ee596d34E
0.0261136 ETH
179310842023-08-17 0:52:11486 days ago1692233531
0xEFd711D4...Ee596d34E
0.01545906 ETH
179310842023-08-17 0:52:11486 days ago1692233531
0xEFd711D4...Ee596d34E
0.02307322 ETH
179310842023-08-17 0:52:11486 days ago1692233531
0xEFd711D4...Ee596d34E
0.03853229 ETH
179294432023-08-16 19:22:23486 days ago1692213743
0xEFd711D4...Ee596d34E
0.02287054 ETH
179294432023-08-16 19:22:23486 days ago1692213743
0xEFd711D4...Ee596d34E
0.03413514 ETH
179294432023-08-16 19:22:23486 days ago1692213743
0xEFd711D4...Ee596d34E
0.05700569 ETH
179293192023-08-16 18:57:35486 days ago1692212255
0xEFd711D4...Ee596d34E
0.03300568 ETH
179293192023-08-16 18:57:35486 days ago1692212255
0xEFd711D4...Ee596d34E
0.04926222 ETH
179293192023-08-16 18:57:35486 days ago1692212255
0xEFd711D4...Ee596d34E
0.08226791 ETH
179292602023-08-16 18:45:23486 days ago1692211523
0xEFd711D4...Ee596d34E
0.05786647 ETH
179292602023-08-16 18:45:23486 days ago1692211523
0xEFd711D4...Ee596d34E
0.08636787 ETH
179292602023-08-16 18:45:23486 days ago1692211523
0xEFd711D4...Ee596d34E
0.14423434 ETH
179288382023-08-16 17:20:11486 days ago1692206411
0xEFd711D4...Ee596d34E
0.09357674 ETH
179288382023-08-16 17:20:11486 days ago1692206411
0xEFd711D4...Ee596d34E
0.13966678 ETH
179288382023-08-16 17:20:11486 days ago1692206411
0xEFd711D4...Ee596d34E
0.23324352 ETH
179285582023-08-16 16:23:35486 days ago1692203015
0xEFd711D4...Ee596d34E
0.11625032 ETH
179285582023-08-16 16:23:35486 days ago1692203015
0xEFd711D4...Ee596d34E
0.17350795 ETH
179285582023-08-16 16:23:35486 days ago1692203015
0xEFd711D4...Ee596d34E
0.28975827 ETH
179285522023-08-16 16:22:23486 days ago1692202943
0xEFd711D4...Ee596d34E
0.11625032 ETH
179285522023-08-16 16:22:23486 days ago1692202943
0xEFd711D4...Ee596d34E
0.17350795 ETH
179285522023-08-16 16:22:23486 days ago1692202943
0xEFd711D4...Ee596d34E
0.28975827 ETH
179285502023-08-16 16:21:59486 days ago1692202919
0xEFd711D4...Ee596d34E
0.11625032 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CosmicVault

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

COSMIC VAULT

Twitter: https://twitter.com/cosmicvault_io
Website: https://www.cosmicvault.io/
Telegram: https://t.me/cosmicvault

Pioneering a Gasless Era for Decentralized Platforms

*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

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

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract CosmicVault is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Cosmic Vault';
    string private constant _symbol = unicode'Vault';
    uint8 private constant _decimals = 18;
    uint256 private _totalSupply = 10000000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private swapThreshold = ( _totalSupply * 1000 ) / 100000;
    uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 2240;
    uint256 private developmentFee = 560;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2800;
    uint256 private sellFee = 2700;
    uint256 private transferFee = 2700;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0x9a250c7B1ae5efD50910939db5507Ac13F23FA00; 
    address internal marketing_receiver = 0x78e69DD5cBcFD366179Fdee446D7d5D57Df30A8c;
    address internal liquidity_receiver = 0xe0cF896ede9cAA7A852C5BD8F7EB3eeBf54dBBBb;
    uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public _maxSellAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 startTrading() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }

    function setContractSwapSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

    function setTransactionRequirement(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans;
        require(totalFee <= denominator && sellFee <= denominator && transferFee <= denominator, "totalFee and sellFee cannot be more than 100%");
    }

    function setTransactionLimit(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }

    function setInternalAddresses(address _marketing, address _liquidity, address _development) external onlyOwner {
        marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
        isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
    }

    function setisBot(address[] calldata addresses, bool _enabled) external onlyOwner {
        for(uint i=0; i < addresses.length; i++){
        isBot[addresses[i]] = _enabled; }
    }

    function manualSwap() external onlyOwner {
        swapAndLiquify(swapThreshold);
    }

    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(development_receiver, _amount);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

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

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

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

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

}

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":"address","name":"owner","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":"_maxSellAmount","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":"_maxWalletToken","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setContractSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setInternalAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004f7565b6200002190629896806200050f565b60018181556007805461ffff60a01b1916600160a81b179055600a55620186a09062000050906103e86200050f565b6200005c919062000529565b600b55620186a0600154600a6200007491906200050f565b62000080919062000529565b600c556000600d8190556108c0600e55610230600f55601055610af0601155610a8c60128190556013556127106014819055601580546001600160a01b0319908116739a250c7b1ae5efd50910939db5507ac13f23fa00179091556016805482167378e69dd5cbcfd366179fdee446d7d5d57df30a8c1790556017805490911673e0cf896ede9caa7a852c5bd8f7eb3eebf54dbbbb179055600154620001289060c86200050f565b62000134919062000529565b60185561271060015460c86200014b91906200050f565b62000157919062000529565b60195561271060015460c86200016e91906200050f565b6200017a919062000529565b601a553480156200018a57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021891906200054c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000266573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028c91906200054c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030091906200054c565b600680546001600160a01b038581166001600160a01b031992831617909255600780548484169216919091179055306000908152600460209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165486168552828520805482168317905560155490951684528184208054861682179055338085528285208054909616821790955554600283528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000577565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004395781600019048211156200041d576200041d620003e2565b808516156200042b57918102915b93841c9390800290620003fd565b509250929050565b6000826200045257506001620004f1565b816200046157506000620004f1565b81600181146200047a57600281146200048557620004a5565b6001915050620004f1565b60ff841115620004995762000499620003e2565b50506001821b620004f1565b5060208310610133831016604e8410600b8410161715620004ca575081810a620004f1565b620004d68383620003f8565b8060001904821115620004ed57620004ed620003e2565b0290505b92915050565b60006200050860ff84168362000441565b9392505050565b8082028115828204841417620004f157620004f1620003e2565b6000826200054757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200055f57600080fd5b81516001600160a01b03811681146200050857600080fd5b611e3680620005876000396000f3fe6080604052600436106101855760003560e01c806378109e54116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb146104aa578063dd62ed3e146104ca578063dfa3a2e314610510578063f2fde38b1461053057600080fd5b806395d89b411461043c5780639d8740cb1461046a578063a8aa1b311461048a57600080fd5b806378109e54146103885780637cca52fe1461039e5780637d1db4a5146103b4578063893d20e8146103ca5780638cd4426d146103fc5780639213c3581461041c57600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102fd57806351bc3c851461031d57806370a082311461033257806372992efb1461036857600080fd5b80632f54bf6e14610282578063313ce567146102b15780633f4218e0146102cd57600080fd5b806306fdde0314610191578063095ea7b3146101d857806318160ddd14610208578063229b6a5e1461022b57806323b872dd1461024d578063293230b81461026d57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600c81526b10dbdcdb5a58c815985d5b1d60a21b60208201525b6040516101cf919061197f565b60405180910390f35b3480156101e457600080fd5b506101f86101f33660046119e5565b610550565b60405190151581526020016101cf565b34801561021457600080fd5b5061021d610567565b6040519081526020016101cf565b34801561023757600080fd5b5061024b610246366004611a1f565b6105d8565b005b34801561025957600080fd5b506101f8610268366004611aa5565b610682565b34801561027957600080fd5b5061024b6106ec565b34801561028e57600080fd5b506101f861029d366004611ae6565b6000546001600160a01b0391821691161490565b3480156102bd57600080fd5b50604051601281526020016101cf565b3480156102d957600080fd5b506101f86102e8366004611ae6565b60046020526000908152604090205460ff1681565b34801561030957600080fd5b5061024b610318366004611b03565b61072b565b34801561032957600080fd5b5061024b610780565b34801561033e57600080fd5b5061021d61034d366004611ae6565b6001600160a01b031660009081526002602052604090205490565b34801561037457600080fd5b5061024b610383366004611b3c565b6107b7565b34801561039457600080fd5b5061021d601a5481565b3480156103aa57600080fd5b5061021d60195481565b3480156103c057600080fd5b5061021d60185481565b3480156103d657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cf565b34801561040857600080fd5b5061024b6104173660046119e5565b610895565b34801561042857600080fd5b5061024b610437366004611b88565b6109bc565b34801561044857600080fd5b5060408051808201909152600581526415985d5b1d60da1b60208201526101c2565b34801561047657600080fd5b5061024b610485366004611bc8565b610a62565b34801561049657600080fd5b506007546103e4906001600160a01b031681565b3480156104b657600080fd5b506101f86104c53660046119e5565b610ac8565b3480156104d657600080fd5b5061021d6104e5366004611bf4565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051c57600080fd5b5061024b61052b366004611bc8565b610ad5565b34801561053c57600080fd5b5061024b61054b366004611ae6565b610c01565b600061055d338484610c7f565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105d39290916105cd9190610da3565b90610da3565b905090565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161060290611c22565b60405180910390fd5b60005b8281101561067c57816005600086868581811061062d5761062d611c42565b90506020020160208101906106429190611ae6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061067481611c6e565b91505061060e565b50505050565b600061068f848484610daf565b6106e184336106dc85604051806060016040528060288152602001611dd9602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112fc565b610c7f565b5060015b9392505050565b6000546001600160a01b031633146107165760405162461bcd60e51b815260040161060290611c22565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107555760405162461bcd60e51b815260040161060290611c22565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107aa5760405162461bcd60e51b815260040161060290611c22565b6107b5600b54611328565b565b6000546001600160a01b031633146107e15760405162461bcd60e51b815260040161060290611c22565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454831180159061081a575060145460125411155b801561082a575060145460135411155b61088c5760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610602565b50505050505050565b6000546001600160a01b031633146108bf5760405162461bcd60e51b815260040161060290611c22565b6040516370a0823160e01b81523060048201526000906109439060649061093d9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190611c87565b906114a5565b906114b1565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610998573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067c9190611ca0565b6000546001600160a01b031633146109e65760405162461bcd60e51b815260040161060290611c22565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161060290611c22565b600a839055600154610aa790620186a09061093d90856114a5565b600b55600154610ac090620186a09061093d90846114a5565b600c55505050565b600061055d338484610daf565b6000546001600160a01b03163314610aff5760405162461bcd60e51b815260040161060290611c22565b6000610b1c61271061093d866001546114a590919063ffffffff16565b90506000610b3b61271061093d866001546114a590919063ffffffff16565b90506000610b5a61271061093d866001546114a590919063ffffffff16565b60188490556019839055601a81905590506000610b806103e861093d6005610937610567565b9050808410158015610b925750808310155b8015610b9e5750808210155b61088c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610602565b6000546001600160a01b03163314610c2b5760405162461bcd60e51b815260040161060290611c22565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610ce15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610602565b6001600160a01b038216610d425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610602565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106e58284611cbd565b6001600160a01b038316610e135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610602565b6001600160a01b038216610e755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610602565b6001600160a01b038316600090815260026020526040902054811115610ef75760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610602565b6001600160a01b03831660009081526004602052604090205460ff16158015610f3957506001600160a01b03821660009081526004602052604090205460ff16155b15610f8857600754600160a01b900460ff16610f885760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610602565b6001600160a01b03831660009081526004602052604090205460ff16158015610fca57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fe457506007546001600160a01b03838116911614155b8015610ffb57506001600160a01b03821661dead14155b1561107457601a546001600160a01b03831660009081526002602052604090205461102690836114bd565b11156110745760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610602565b6007546001600160a01b0384811691161461111557601954811115806110b257506001600160a01b03831660009081526004602052604090205460ff165b806110d557506001600160a01b03821660009081526004602052604090205460ff165b6111155760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610602565b6018548111158061113e57506001600160a01b03831660009081526004602052604090205460ff165b8061116157506001600160a01b03821660009081526004602052604090205460ff165b6111a15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610602565b6007546001600160a01b0383811691161480156111d757506001600160a01b03831660009081526004602052604090205460ff16155b156111f5576001600860008282546111ef9190611cd0565b90915550505b6112008383836114c9565b1561121657611210600b54611328565b60006008555b6001600160a01b0383166000908152600260205260409020546112399082610da3565b6001600160a01b03841660009081526002602052604081209190915561125f8484611583565b6112695781611274565b6112748484846115c9565b6001600160a01b03841660009081526002602052604090205490915061129a90826114bd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ee9085815260200190565b60405180910390a350505050565b600081848411156113205760405162461bcd60e51b8152600401610602919061197f565b505050900390565b6009805460ff19166001908117909155600f54600e54600d546000936113629360029361093793919261135c9283916114bd565b906114bd565b9050600061137f8261093d600d54866114a590919063ffffffff16565b9050600061138d8483610da3565b905047611399826116d0565b60006113a54783610da3565b905060006113c86113c1600d5488610da390919063ffffffff16565b83906114b1565b905060006113e1600d54836114a590919063ffffffff16565b905080156113f3576113f3868261182a565b600e54600090611408906109378560026114a5565b9050801561144c576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561144a573d6000803e3d6000fd5b505b47801561148f576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561148d573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106e58284611ce3565b60006106e58284611cfa565b60006106e58284611cd0565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115045750600754600160a81b900460ff165b80156115195750600754600160a01b900460ff165b80156115225750815b801561154757506001600160a01b03861660009081526004602052604090205460ff16155b801561156057506007546001600160a01b038681169116145b80156115705750600a5460085410155b80156115795750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106e55750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115d685856118de565b11156116c95760006115f96115eb86866118de565b6014546109379086906114b1565b3060009081526002602052604090205490915061161690826114bd565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116679085815260200190565b60405180910390a3600060105411801561168b575060105461168986866118de565b115b156116b7576116b73061dead6116b2601054610937601454896114b190919063ffffffff16565b610daf565b6116c18382610da3565b9150506106e5565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170557611705611c42565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117829190611d1c565b8160018151811061179557611795611c42565b6001600160a01b0392831660209182029290920101526006546117bb9130911684610c7f565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f4908590600090869030904290600401611d39565b600060405180830381600087803b15801561180e57600080fd5b505af1158015611822573d6000803e3d6000fd5b505050505050565b6006546118429030906001600160a01b031684610c7f565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118d79190611daa565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061191d57506001600160a01b03821660009081526005602052604090205460ff165b1561193757601454611930906064610da3565b9050610561565b6007546001600160a01b03908116908316036119565750601254610561565b6007546001600160a01b03908116908416036119755750601154610561565b5060135492915050565b600060208083528351808285015260005b818110156119ac57858101830151858201604001528201611990565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119e257600080fd5b50565b600080604083850312156119f857600080fd5b8235611a03816119cd565b946020939093013593505050565b80151581146119e257600080fd5b600080600060408486031215611a3457600080fd5b833567ffffffffffffffff80821115611a4c57600080fd5b818601915086601f830112611a6057600080fd5b813581811115611a6f57600080fd5b8760208260051b8501011115611a8457600080fd5b60209283019550935050840135611a9a81611a11565b809150509250925092565b600080600060608486031215611aba57600080fd5b8335611ac5816119cd565b92506020840135611ad5816119cd565b929592945050506040919091013590565b600060208284031215611af857600080fd5b81356106e5816119cd565b60008060408385031215611b1657600080fd5b8235611b21816119cd565b91506020830135611b3181611a11565b809150509250929050565b600080600080600080600060e0888a031215611b5757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080600060608486031215611b9d57600080fd5b8335611ba8816119cd565b92506020840135611bb8816119cd565b91506040840135611a9a816119cd565b600080600060608486031215611bdd57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611c0757600080fd5b8235611c12816119cd565b91506020830135611b31816119cd565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8057611c80611c58565b5060010190565b600060208284031215611c9957600080fd5b5051919050565b600060208284031215611cb257600080fd5b81516106e581611a11565b8181038181111561056157610561611c58565b8082018082111561056157610561611c58565b808202811582820484141761056157610561611c58565b600082611d1757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d2e57600080fd5b81516106e5816119cd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d895784516001600160a01b031683529383019391830191600101611d64565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dbf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a20f2182e25e447e4dc66fa2fc220d76773487b77e5e2e6e7a5aaf93ecb8597164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806378109e54116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb146104aa578063dd62ed3e146104ca578063dfa3a2e314610510578063f2fde38b1461053057600080fd5b806395d89b411461043c5780639d8740cb1461046a578063a8aa1b311461048a57600080fd5b806378109e54146103885780637cca52fe1461039e5780637d1db4a5146103b4578063893d20e8146103ca5780638cd4426d146103fc5780639213c3581461041c57600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102fd57806351bc3c851461031d57806370a082311461033257806372992efb1461036857600080fd5b80632f54bf6e14610282578063313ce567146102b15780633f4218e0146102cd57600080fd5b806306fdde0314610191578063095ea7b3146101d857806318160ddd14610208578063229b6a5e1461022b57806323b872dd1461024d578063293230b81461026d57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600c81526b10dbdcdb5a58c815985d5b1d60a21b60208201525b6040516101cf919061197f565b60405180910390f35b3480156101e457600080fd5b506101f86101f33660046119e5565b610550565b60405190151581526020016101cf565b34801561021457600080fd5b5061021d610567565b6040519081526020016101cf565b34801561023757600080fd5b5061024b610246366004611a1f565b6105d8565b005b34801561025957600080fd5b506101f8610268366004611aa5565b610682565b34801561027957600080fd5b5061024b6106ec565b34801561028e57600080fd5b506101f861029d366004611ae6565b6000546001600160a01b0391821691161490565b3480156102bd57600080fd5b50604051601281526020016101cf565b3480156102d957600080fd5b506101f86102e8366004611ae6565b60046020526000908152604090205460ff1681565b34801561030957600080fd5b5061024b610318366004611b03565b61072b565b34801561032957600080fd5b5061024b610780565b34801561033e57600080fd5b5061021d61034d366004611ae6565b6001600160a01b031660009081526002602052604090205490565b34801561037457600080fd5b5061024b610383366004611b3c565b6107b7565b34801561039457600080fd5b5061021d601a5481565b3480156103aa57600080fd5b5061021d60195481565b3480156103c057600080fd5b5061021d60185481565b3480156103d657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cf565b34801561040857600080fd5b5061024b6104173660046119e5565b610895565b34801561042857600080fd5b5061024b610437366004611b88565b6109bc565b34801561044857600080fd5b5060408051808201909152600581526415985d5b1d60da1b60208201526101c2565b34801561047657600080fd5b5061024b610485366004611bc8565b610a62565b34801561049657600080fd5b506007546103e4906001600160a01b031681565b3480156104b657600080fd5b506101f86104c53660046119e5565b610ac8565b3480156104d657600080fd5b5061021d6104e5366004611bf4565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051c57600080fd5b5061024b61052b366004611bc8565b610ad5565b34801561053c57600080fd5b5061024b61054b366004611ae6565b610c01565b600061055d338484610c7f565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105d39290916105cd9190610da3565b90610da3565b905090565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161060290611c22565b60405180910390fd5b60005b8281101561067c57816005600086868581811061062d5761062d611c42565b90506020020160208101906106429190611ae6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061067481611c6e565b91505061060e565b50505050565b600061068f848484610daf565b6106e184336106dc85604051806060016040528060288152602001611dd9602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112fc565b610c7f565b5060015b9392505050565b6000546001600160a01b031633146107165760405162461bcd60e51b815260040161060290611c22565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107555760405162461bcd60e51b815260040161060290611c22565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107aa5760405162461bcd60e51b815260040161060290611c22565b6107b5600b54611328565b565b6000546001600160a01b031633146107e15760405162461bcd60e51b815260040161060290611c22565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454831180159061081a575060145460125411155b801561082a575060145460135411155b61088c5760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610602565b50505050505050565b6000546001600160a01b031633146108bf5760405162461bcd60e51b815260040161060290611c22565b6040516370a0823160e01b81523060048201526000906109439060649061093d9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190611c87565b906114a5565b906114b1565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610998573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067c9190611ca0565b6000546001600160a01b031633146109e65760405162461bcd60e51b815260040161060290611c22565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161060290611c22565b600a839055600154610aa790620186a09061093d90856114a5565b600b55600154610ac090620186a09061093d90846114a5565b600c55505050565b600061055d338484610daf565b6000546001600160a01b03163314610aff5760405162461bcd60e51b815260040161060290611c22565b6000610b1c61271061093d866001546114a590919063ffffffff16565b90506000610b3b61271061093d866001546114a590919063ffffffff16565b90506000610b5a61271061093d866001546114a590919063ffffffff16565b60188490556019839055601a81905590506000610b806103e861093d6005610937610567565b9050808410158015610b925750808310155b8015610b9e5750808210155b61088c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610602565b6000546001600160a01b03163314610c2b5760405162461bcd60e51b815260040161060290611c22565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610ce15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610602565b6001600160a01b038216610d425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610602565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106e58284611cbd565b6001600160a01b038316610e135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610602565b6001600160a01b038216610e755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610602565b6001600160a01b038316600090815260026020526040902054811115610ef75760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610602565b6001600160a01b03831660009081526004602052604090205460ff16158015610f3957506001600160a01b03821660009081526004602052604090205460ff16155b15610f8857600754600160a01b900460ff16610f885760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610602565b6001600160a01b03831660009081526004602052604090205460ff16158015610fca57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fe457506007546001600160a01b03838116911614155b8015610ffb57506001600160a01b03821661dead14155b1561107457601a546001600160a01b03831660009081526002602052604090205461102690836114bd565b11156110745760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610602565b6007546001600160a01b0384811691161461111557601954811115806110b257506001600160a01b03831660009081526004602052604090205460ff165b806110d557506001600160a01b03821660009081526004602052604090205460ff165b6111155760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610602565b6018548111158061113e57506001600160a01b03831660009081526004602052604090205460ff165b8061116157506001600160a01b03821660009081526004602052604090205460ff165b6111a15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610602565b6007546001600160a01b0383811691161480156111d757506001600160a01b03831660009081526004602052604090205460ff16155b156111f5576001600860008282546111ef9190611cd0565b90915550505b6112008383836114c9565b1561121657611210600b54611328565b60006008555b6001600160a01b0383166000908152600260205260409020546112399082610da3565b6001600160a01b03841660009081526002602052604081209190915561125f8484611583565b6112695781611274565b6112748484846115c9565b6001600160a01b03841660009081526002602052604090205490915061129a90826114bd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ee9085815260200190565b60405180910390a350505050565b600081848411156113205760405162461bcd60e51b8152600401610602919061197f565b505050900390565b6009805460ff19166001908117909155600f54600e54600d546000936113629360029361093793919261135c9283916114bd565b906114bd565b9050600061137f8261093d600d54866114a590919063ffffffff16565b9050600061138d8483610da3565b905047611399826116d0565b60006113a54783610da3565b905060006113c86113c1600d5488610da390919063ffffffff16565b83906114b1565b905060006113e1600d54836114a590919063ffffffff16565b905080156113f3576113f3868261182a565b600e54600090611408906109378560026114a5565b9050801561144c576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561144a573d6000803e3d6000fd5b505b47801561148f576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561148d573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106e58284611ce3565b60006106e58284611cfa565b60006106e58284611cd0565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115045750600754600160a81b900460ff165b80156115195750600754600160a01b900460ff165b80156115225750815b801561154757506001600160a01b03861660009081526004602052604090205460ff16155b801561156057506007546001600160a01b038681169116145b80156115705750600a5460085410155b80156115795750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106e55750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115d685856118de565b11156116c95760006115f96115eb86866118de565b6014546109379086906114b1565b3060009081526002602052604090205490915061161690826114bd565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116679085815260200190565b60405180910390a3600060105411801561168b575060105461168986866118de565b115b156116b7576116b73061dead6116b2601054610937601454896114b190919063ffffffff16565b610daf565b6116c18382610da3565b9150506106e5565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170557611705611c42565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117829190611d1c565b8160018151811061179557611795611c42565b6001600160a01b0392831660209182029290920101526006546117bb9130911684610c7f565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f4908590600090869030904290600401611d39565b600060405180830381600087803b15801561180e57600080fd5b505af1158015611822573d6000803e3d6000fd5b505050505050565b6006546118429030906001600160a01b031684610c7f565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118d79190611daa565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061191d57506001600160a01b03821660009081526005602052604090205460ff165b1561193757601454611930906064610da3565b9050610561565b6007546001600160a01b03908116908316036119565750601254610561565b6007546001600160a01b03908116908416036119755750601154610561565b5060135492915050565b600060208083528351808285015260005b818110156119ac57858101830151858201604001528201611990565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119e257600080fd5b50565b600080604083850312156119f857600080fd5b8235611a03816119cd565b946020939093013593505050565b80151581146119e257600080fd5b600080600060408486031215611a3457600080fd5b833567ffffffffffffffff80821115611a4c57600080fd5b818601915086601f830112611a6057600080fd5b813581811115611a6f57600080fd5b8760208260051b8501011115611a8457600080fd5b60209283019550935050840135611a9a81611a11565b809150509250925092565b600080600060608486031215611aba57600080fd5b8335611ac5816119cd565b92506020840135611ad5816119cd565b929592945050506040919091013590565b600060208284031215611af857600080fd5b81356106e5816119cd565b60008060408385031215611b1657600080fd5b8235611b21816119cd565b91506020830135611b3181611a11565b809150509250929050565b600080600080600080600060e0888a031215611b5757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080600060608486031215611b9d57600080fd5b8335611ba8816119cd565b92506020840135611bb8816119cd565b91506040840135611a9a816119cd565b600080600060608486031215611bdd57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611c0757600080fd5b8235611c12816119cd565b91506020830135611b31816119cd565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8057611c80611c58565b5060010190565b600060208284031215611c9957600080fd5b5051919050565b600060208284031215611cb257600080fd5b81516106e581611a11565b8181038181111561056157610561611c58565b8082018082111561056157610561611c58565b808202811582820484141761056157610561611c58565b600082611d1757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d2e57600080fd5b81516106e5816119cd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d895784516001600160a01b031683529383019391830191600101611d64565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dbf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a20f2182e25e447e4dc66fa2fc220d76773487b77e5e2e6e7a5aaf93ecb8597164736f6c63430008130033

Deployed Bytecode Sourcemap

4872:11352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7326:67;;;;;;;;;;-1:-1:-1;7386:5:0;;;;;;;;;;;;-1:-1:-1;;;7386:5:0;;;;7326:67;;;;;;;:::i;:::-;;;;;;;;8207:133;;;;;;;;;;-1:-1:-1;8207:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8207:133:0;1023:187:1;8346:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8346:132:0;1215:177:1;10644:184:0;;;;;;;;;;-1:-1:-1;10644:184:0;;;;;:::i;:::-;;:::i;:::-;;15567:309;;;;;;;;;;-1:-1:-1;15567:309:0;;;;;:::i;:::-;;:::i;7549:67::-;;;;;;;;;;;;;:::i;3776:87::-;;;;;;;;;;-1:-1:-1;3776:87:0;;;;;:::i;:::-;3831:4;3856:5;-1:-1:-1;;;;;3845:16:0;;;3856:5;;3845:16;;3776:87;7476:67;;;;;;;;;;-1:-1:-1;7476:67:0;;5095:2;3130:36:1;;3118:2;3103:18;7476:67:0;2988:184:1;5291:44:0;;;;;;;;;;-1:-1:-1;5291:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8093:108;;;;;;;;;;-1:-1:-1;8093:108:0;;;;;:::i;:::-;;:::i;10836:89::-;;;;;;;;;;;;;:::i;7706:103::-;;;;;;;;;;-1:-1:-1;7706:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7789:18:0;7772:7;7789:18;;;:9;:18;;;;;;;7706:103;9224:503;;;;;;;;;;-1:-1:-1;9224:503:0;;;;;:::i;:::-;;:::i;6609:63::-;;;;;;;;;;;;;;;;6540:62;;;;;;;;;;;;;;;;6473:60;;;;;;;;;;;;;;;;7622:78;;;;;;;;;;-1:-1:-1;7674:7:0;7692:5;-1:-1:-1;;;;;7692:5:0;7622:78;;;-1:-1:-1;;;;;4325:32:1;;;4307:51;;4295:2;4280:18;7622:78:0;4161:203:1;10933:242:0;;;;;;;;;;-1:-1:-1;10933:242:0;;;;;:::i;:::-;;:::i;10298:338::-;;;;;;;;;;-1:-1:-1;10298:338:0;;;;;:::i;:::-;;:::i;7399:71::-;;;;;;;;;;-1:-1:-1;7461:7:0;;;;;;;;;;;;-1:-1:-1;;;7461:7:0;;;;7399:71;;8897:319;;;;;;;;;;-1:-1:-1;8897:319:0;;;;;:::i;:::-;;:::i;5409:19::-;;;;;;;;;;-1:-1:-1;5409:19:0;;;;-1:-1:-1;;;;;5409:19:0;;;7815:139;;;;;;;;;;-1:-1:-1;7815:139:0;;;;;:::i;:::-;;:::i;7960:127::-;;;;;;;;;;-1:-1:-1;7960:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8058:18:0;;;8041:7;8058:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7960:127;9735:555;;;;;;;;;;-1:-1:-1;9735:555:0;;;;;:::i;:::-;;:::i;3869:111::-;;;;;;;;;;-1:-1:-1;3869:111:0;;;;;:::i;:::-;;:::i;8207:133::-;8282:4;8289:37;8298:10;8310:7;8319:6;8289:8;:37::i;:::-;-1:-1:-1;8334:4:0;8207:133;;;;;:::o;8346:132::-;7789:9;:18;;;;6160:42;8399:7;7789:18;;;;;8416:12;;8399:7;;8416:60;;7789:18;;8416:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8409:67;;8346:132;:::o;10644:184::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;;;;;;;;;10741:6:::1;10737:84;10751:20:::0;;::::1;10737:84;;;10810:8;10788:5;:19;10794:9;;10804:1;10794:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10788:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10788:19:0;:30;;-1:-1:-1;;10788:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10773:3;::::1;::::0;::::1;:::i;:::-;;;;10737:84;;;;10644:184:::0;;;:::o;15567:309::-;15665:4;15682:36;15692:6;15700:9;15711:6;15682:9;:36::i;:::-;15729:117;15738:6;15746:10;15758:87;15794:6;15758:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15758:19:0;;;;;;:11;:19;;;;;;;;15778:10;15758:31;;;;;;;;;:87;:35;:87::i;:::-;15729:8;:117::i;:::-;-1:-1:-1;15864:4:0;15567:309;;;;;;:::o;7549:67::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;7593:14:::1;:21:::0;;-1:-1:-1;;;;7593:21:0::1;-1:-1:-1::0;;;7593:21:0::1;::::0;;7549:67::o;8093:108::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8167:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8167:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8093:108::o;10836:89::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;10888:29:::1;10903:13;;10888:14;:29::i;:::-;10836:89::o:0;9224:503::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;9413:12:::1;:25:::0;;;9440:12:::1;:25:::0;;;9467:7:::1;:15:::0;;;9484:14:::1;:29:::0;;;9515:8:::1;:17:::0;;;9534:7:::1;:15:::0;;;9551:11:::1;:20:::0;;;9602:11:::1;::::0;9590:23;::::1;::::0;::::1;::::0;:49:::1;;;9628:11;;9617:7;;:22;;9590:49;:79;;;;;9658:11;;9643;;:26;;9590:79;9582:137;;;::::0;-1:-1:-1;;;9582:137:0;;6817:2:1;9582:137:0::1;::::0;::::1;6799:21:1::0;6856:2;6836:18;;;6829:30;6895:34;6875:18;;;6868:62;-1:-1:-1;;;6946:18:1;;;6939:43;6999:19;;9582:137:0::1;6615:409:1::0;9582:137:0::1;9224:503:::0;;;;;;;:::o;10933:242::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;11037:41:::1;::::0;-1:-1:-1;;;11037:41:0;;11072:4:::1;11037:41;::::0;::::1;4307:51:1::0;11019:15:0::1;::::0;11037:63:::1;::::0;11096:3:::1;::::0;11037:54:::1;::::0;11083:7;;-1:-1:-1;;;;;11037:26:0;::::1;::::0;::::1;::::0;4280:18:1;;11037:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;11137:20;::::0;11111:56:::1;::::0;-1:-1:-1;;;11111:56:0;;-1:-1:-1;;;;;11137:20:0;;::::1;11111:56;::::0;::::1;7392:51:1::0;7459:18;;;7452:34;;;11019:81:0;;-1:-1:-1;11111:25:0;::::1;::::0;::::1;::::0;7365:18:1;;11111:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10298:338::-:0;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;10420:18:::1;:31:::0;;-1:-1:-1;;;;;10420:31:0;;::::1;-1:-1:-1::0;;;;;;10420:31:0;;::::1;::::0;::::1;::::0;;;10453:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;10486:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;10420:18:::1;10532:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;10532:30:0;;::::1;10420:31:::0;10532:30;;::::1;::::0;;;10564:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;10596:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;10298:338::o;8897:319::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;9030:10:::1;:24:::0;;;9072:12:::1;::::0;:53:::1;::::0;9117:6:::1;::::0;9072:32:::1;::::0;9089:14;9072:16:::1;:32::i;:53::-;9056:13;:69:::0;9154:12:::1;::::0;:54:::1;::::0;9200:6:::1;::::0;9154:33:::1;::::0;9171:15;9154:16:::1;:33::i;:54::-;9137:14;:71:::0;-1:-1:-1;;;8897:319:0:o;7815:139::-;7893:4;7900:40;7910:10;7922:9;7933:6;7900:9;:40::i;9735:555::-;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;9840:13:::1;9856:33;9883:5;9856:22;9873:4;9856:12;;:16;;:22;;;;:::i;:33::-;9840:49;;9891:19;9913:34;9941:5;9913:23;9930:5;9913:12;;:16;;:23;;;;:::i;:34::-;9891:56;;9949:17;9969:36;9999:5;9969:25;9986:7;9969:12;;:16;;:25;;;;:::i;:36::-;10016:12;:20:::0;;;10038:14:::1;:28:::0;;;10068:15:::1;:27:::0;;;9949:56;-1:-1:-1;;10122:30:0::1;10147:4;10122:20;10140:1;10122:13;:11;:13::i;:30::-;10106:46;;10180:5;10171;:14;;:38;;;;;10204:5;10189:11;:20;;10171:38;:60;;;;;10226:5;10213:9;:18;;10171:60;10163:119;;;::::0;-1:-1:-1;;;10163:119:0;;7949:2:1;10163:119:0::1;::::0;::::1;7931:21:1::0;7988:2;7968:18;;;7961:30;8027:34;8007:18;;;8000:62;-1:-1:-1;;;8078:18:1;;;8071:44;8132:19;;10163:119:0::1;7747:410:1::0;3869:111:0;3831:4;3856:5;-1:-1:-1;;;;;3856:5:0;3743:10;3845:16;3727:38;;;;-1:-1:-1;;;3727:38:0;;;;;;;:::i;:::-;3935:5:::1;:11:::0;;-1:-1:-1;;;;;;3935:11:0::1;-1:-1:-1::0;;;;;3935:11:0;::::1;::::0;;::::1;::::0;;;3953:25:::1;::::0;4307:51:1;;;3953:25:0::1;::::0;4295:2:1;4280:18;3953:25:0::1;;;;;;;3869:111:::0;:::o;15884:335::-;-1:-1:-1;;;;;15977:19:0;;15969:68;;;;-1:-1:-1;;;15969:68:0;;8580:2:1;15969:68:0;;;8562:21:1;8619:2;8599:18;;;8592:30;8658:34;8638:18;;;8631:62;-1:-1:-1;;;8709:18:1;;;8702:34;8753:19;;15969:68:0;8378:400:1;15969:68:0;-1:-1:-1;;;;;16056:21:0;;16048:68;;;;-1:-1:-1;;;16048:68:0;;8985:2:1;16048:68:0;;;8967:21:1;9024:2;9004:18;;;8997:30;9063:34;9043:18;;;9036:62;-1:-1:-1;;;9114:18:1;;;9107:32;9156:19;;16048:68:0;8783:398:1;16048:68:0;-1:-1:-1;;;;;16127:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16179:32;;1361:25:1;;;16179:32:0;;1334:18:1;16179:32:0;;;;;;;15884:335;;;:::o;1515:98::-;1573:7;1600:5;1604:1;1600;:5;:::i;14126:1433::-;-1:-1:-1;;;;;14223:20:0;;14215:70;;;;-1:-1:-1;;;14215:70:0;;9521:2:1;14215:70:0;;;9503:21:1;9560:2;9540:18;;;9533:30;9599:34;9579:18;;;9572:62;-1:-1:-1;;;9650:18:1;;;9643:35;9695:19;;14215:70:0;9319:401:1;14215:70:0;-1:-1:-1;;;;;14304:23:0;;14296:71;;;;-1:-1:-1;;;14296:71:0;;9927:2:1;14296:71:0;;;9909:21:1;9966:2;9946:18;;;9939:30;10005:34;9985:18;;;9978:62;-1:-1:-1;;;10056:18:1;;;10049:33;10099:19;;14296:71:0;9725:399:1;14296:71:0;-1:-1:-1;;;;;7789:18:0;;7772:7;7789:18;;;:9;:18;;;;;;14386:6;:27;;14378:88;;;;-1:-1:-1;;;14378:88:0;;10331:2:1;14378:88:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:47;10517:19;;14378:88:0;10129:413:1;14378:88:0;-1:-1:-1;;;;;14481:19:0;;;;;;:11;:19;;;;;;;;14480:20;:47;;;;-1:-1:-1;;;;;;14505:22:0;;;;;;:11;:22;;;;;;;;14504:23;14480:47;14477:95;;;14537:14;;-1:-1:-1;;;14537:14:0;;;;14529:41;;;;-1:-1:-1;;;14529:41:0;;10749:2:1;14529:41:0;;;10731:21:1;10788:2;10768:18;;;10761:30;-1:-1:-1;;;10807:18:1;;;10800:44;10861:18;;14529:41:0;10547:338:1;14529:41:0;-1:-1:-1;;;;;14586:19:0;;;;;;:11;:19;;;;;;;;14585:20;:47;;;;-1:-1:-1;;;;;;14610:22:0;;;;;;:11;:22;;;;;;;;14609:23;14585:47;:77;;;;-1:-1:-1;14657:4:0;;-1:-1:-1;;;;;14636:26:0;;;14657:4;;14636:26;;14585:77;:107;;;;-1:-1:-1;;;;;;14666:26:0;;6160:42;14666:26;;14585:107;14582:220;;;14750:15;;-1:-1:-1;;;;;14713:20:0;;;;;;:9;:20;;;;;;:32;;14738:6;14713:24;:32::i;:::-;14712:53;;14704:96;;;;-1:-1:-1;;;14704:96:0;;11092:2:1;14704:96:0;;;11074:21:1;11131:2;11111:18;;;11104:30;11170:32;11150:18;;;11143:60;11220:18;;14704:96:0;10890:354:1;14704:96:0;14825:4;;-1:-1:-1;;;;;14815:14:0;;;14825:4;;14815:14;14812:124;;14849:14;;14839:6;:24;;:47;;;-1:-1:-1;;;;;;14867:19:0;;;;;;:11;:19;;;;;;;;14839:47;:73;;;-1:-1:-1;;;;;;14890:22:0;;;;;;:11;:22;;;;;;;;14839:73;14831:103;;;;-1:-1:-1;;;14831:103:0;;11451:2:1;14831:103:0;;;11433:21:1;11490:2;11470:18;;;11463:30;-1:-1:-1;;;11509:18:1;;;11502:47;11566:18;;14831:103:0;11249:341:1;14831:103:0;14964:12;;14954:6;:22;;:45;;;-1:-1:-1;;;;;;14980:19:0;;;;;;:11;:19;;;;;;;;14954:45;:71;;;-1:-1:-1;;;;;;15003:22:0;;;;;;:11;:22;;;;;;;;14954:71;14946:101;;;;-1:-1:-1;;;14946:101:0;;11451:2:1;14946:101:0;;;11433:21:1;11490:2;11470:18;;;11463:30;-1:-1:-1;;;11509:18:1;;;11502:47;11566:18;;14946:101:0;11249:341:1;14946:101:0;15075:4;;-1:-1:-1;;;;;15062:17:0;;;15075:4;;15062:17;:41;;;;-1:-1:-1;;;;;;15084:19:0;;;;;;:11;:19;;;;;;;;15083:20;15062:41;15059:71;;;15126:1;15105:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;15059:71:0;15143:45;15162:6;15170:9;15181:6;15143:18;:45::i;:::-;15140:105;;;15190:29;15205:13;;15190:14;:29::i;:::-;15241:1;15221:9;:22;15140:105;-1:-1:-1;;;;;15275:17:0;;;;;;:9;:17;;;;;;:29;;15297:6;15275:21;:29::i;:::-;-1:-1:-1;;;;;15255:17:0;;;;;;:9;:17;;;;;:49;;;;15340:32;15265:6;15362:9;15340:13;:32::i;:::-;:78;;15412:6;15340:78;;;15375:34;15383:6;15391:9;15402:6;15375:7;:34::i;:::-;-1:-1:-1;;;;;15452:20:0;;;;;;:9;:20;;;;;;15315:103;;-1:-1:-1;15452:40:0;;15315:103;15452:24;:40::i;:::-;-1:-1:-1;;;;;15429:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15508:43;;;;;;;;;;15536:14;1361:25:1;;1349:2;1334:18;;1215:177;15508:43:0;;;;;;;;14204:1355;14126:1433;;;:::o;1939:240::-;2059:7;2120:12;2112:6;;;;2104:29;;;;-1:-1:-1;;;2104:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2155:5:0;;;1939:240::o;11183:1063::-;5767:8;:15;;-1:-1:-1;;5767:15:0;5778:4;5767:15;;;;;;11320:14:::1;::::0;11302:12:::1;::::0;11278::::1;::::0;5767:8;;11277:66:::1;::::0;11341:1:::1;::::0;11278:57:::1;::::0;11320:14;;11278:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11277:66::-;11254:89;;11354:32;11389:42;11418:12;11389:24;11400:12;;11389:6;:10;;:24;;;;:::i;:42::-;11354:77:::0;-1:-1:-1;11442:14:0::1;11459:36;:6:::0;11354:77;11459:10:::1;:36::i;:::-;11442:53:::0;-1:-1:-1;11531:21:0::1;11563:24;11442:53:::0;11563:16:::1;:24::i;:::-;11598:20;11621:41;:21;11647:14:::0;11621:25:::1;:41::i;:::-;11598:64;;11673:19;11694:48;11711:30;11728:12;;11711;:16;;:30;;;;:::i;:::-;11694:12:::0;;:16:::1;:48::i;:::-;11673:69;;11753:29;11785;11801:12;;11785:11;:15;;:29;;;;:::i;:::-;11753:61:::0;-1:-1:-1;11828:34:0;;11825:103:::1;;11864:61;11877:24;11903:21;11864:12;:61::i;:::-;11984:12;::::0;11938:20:::1;::::0;11961:36:::1;::::0;:18:::1;:11:::0;11977:1:::1;11961:15;:18::i;:36::-;11938:59:::0;-1:-1:-1;12011:16:0;;12008:73:::1;;12037:18;::::0;12029:50:::1;::::0;-1:-1:-1;;;;;12037:18:0;;::::1;::::0;12029:50;::::1;;;::::0;12066:12;;12037:18:::1;12029:50:::0;12037:18;12029:50;12066:12;12037:18;12029:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12008:73;12117:21;12152:28:::0;;12149:90:::1;;12190:20;::::0;12182:55:::1;::::0;-1:-1:-1;;;;;12190:20:0;;::::1;::::0;12182:55;::::1;;;::::0;12221:15;;12190:20:::1;12182:55:::0;12190:20;12182:55;12221:15;12190:20;12182:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12149:90;-1:-1:-1::0;;5787:8:0;:16;;-1:-1:-1;;5787:16:0;;;-1:-1:-1;;;;;;;;11183:1063:0:o;1621:98::-;1679:7;1706:5;1710:1;1706;:5;:::i;1727:98::-;1785:7;1812:5;1816:1;1812;:5;:::i;1409:98::-;1467:7;1494:5;1498:1;1494;:5;:::i;8486:403::-;8631:14;;8706:13;;8696:4;8588;7789:18;;;:9;:18;;;;;;8738:8;;8588:4;;8621:24;;;;-1:-1:-1;8678:41:0;;8738:8;;8737:9;:24;;;;-1:-1:-1;8750:11:0;;-1:-1:-1;;;8750:11:0;;;;8737:24;:42;;;;-1:-1:-1;8765:14:0;;-1:-1:-1;;;8765:14:0;;;;8737:42;:54;;;;;8783:8;8737:54;:78;;;;-1:-1:-1;;;;;;8796:19:0;;;;;;:11;:19;;;;;;;;8795:20;8737:78;:99;;;;-1:-1:-1;8832:4:0;;-1:-1:-1;;;;;8819:17:0;;;8832:4;;8819:17;8737:99;:126;;;;;8853:10;;8840:9;;:23;;8737:126;:144;;;;;8867:14;8737:144;8730:151;8486:403;-1:-1:-1;;;;;;8486:403:0:o;13047:160::-;-1:-1:-1;;;;;13153:19:0;;13128:4;13153:19;;;:11;:19;;;;;;;;13152:20;:47;;;;-1:-1:-1;;;;;;;13177:22:0;;;;;:11;:22;;;;;;;;13176:23;;13047:160;-1:-1:-1;13047:160:0:o;13528:590::-;13614:7;13670:1;13637:30;13649:6;13657:9;13637:11;:30::i;:::-;:34;13634:462;;;13683:17;13703:59;13731:30;13743:6;13751:9;13731:11;:30::i;:::-;13714:11;;13703:23;;:6;;:10;:23::i;:59::-;13818:4;13800:24;;;;:9;:24;;;;;;13683:79;;-1:-1:-1;13800:39:0;;13683:79;13800:28;:39::i;:::-;13791:4;13773:24;;;;:9;:24;;;;;;;:66;;;;13855:42;;-1:-1:-1;;;;;13855:42:0;;;;;;;13887:9;1361:25:1;;1349:2;1334:18;;1215:177;13855:42:0;;;;;;;;13929:1;13911:7;;:20;:64;;;;;13968:7;;13935:30;13947:6;13955:9;13935:11;:30::i;:::-;:40;13911:64;13908:148;;;13977:77;13995:4;6160:42;14017:36;14045:7;;14017:23;14028:11;;14017:6;:10;;:23;;;;:::i;:36::-;13977:9;:77::i;:::-;14073:21;:6;14084:9;14073:10;:21::i;:::-;14066:28;;;;;13634:462;-1:-1:-1;14104:6:0;13528:590;-1:-1:-1;;13528:590:0:o;12605:434::-;12695:16;;;12709:1;12695:16;;;;;;;;12671:21;;12695:16;;;;;;;;;;-1:-1:-1;12695:16:0;12671:40;;12740:4;12722;12727:1;12722:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12722:23:0;;;:7;;;;;;;;;;:23;;;;12766:6;;:13;;;-1:-1:-1;;;12766:13:0;;;;:6;;;;;:11;;:13;;;;;12722:7;;12766:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12756:4;12761:1;12756:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12756:23:0;;;:7;;;;;;;;;:23;12822:6;;12790:53;;12807:4;;12822:6;12831:11;12790:8;:53::i;:::-;12854:6;;:177;;-1:-1:-1;;;12854:177:0;;-1:-1:-1;;;;;12854:6:0;;;;:57;;:177;;12926:11;;12854:6;;12968:4;;12995;;13015:15;;12854:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12660:379;12605:434;:::o;12254:343::-;12367:6;;12335:53;;12352:4;;-1:-1:-1;;;;;12367:6:0;12376:11;12335:8;:53::i;:::-;12399:6;;12540:18;;12399:190;;-1:-1:-1;;;12399:190:0;;12462:4;12399:190;;;13834:34:1;13884:18;;;13877:34;;;12399:6:0;13927:18:1;;;13920:34;;;13970:18;;;13963:34;-1:-1:-1;;;;;12540:18:0;;;14013:19:1;;;14006:44;12573:15:0;14066:19:1;;;14059:35;12399:6:0;;;:22;;12429:9;;13768:19:1;;12399:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12254:343;;:::o;13215:305::-;-1:-1:-1;;;;;13317:13:0;;13294:7;13317:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13334:16:0;;;;;;:5;:16;;;;;;;;13317:33;13314:76;;;13359:11;;:29;;13383:3;13359:15;:29::i;:::-;13352:36;;;;13314:76;13416:4;;-1:-1:-1;;;;;13416:4:0;;;13403:17;;;;13400:38;;-1:-1:-1;13429:7:0;;13422:14;;13400:38;13461:4;;-1:-1:-1;;;;;13461:4:0;;;13451:14;;;;13448:36;;-1:-1:-1;13474:8:0;;13467:15;;13448:36;-1:-1:-1;13501:11:0;;13215:305;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:118::-;1483:5;1476:13;1469:21;1462:5;1459:32;1449:60;;1505:1;1502;1495:12;1520:750;1612:6;1620;1628;1681:2;1669:9;1660:7;1656:23;1652:32;1649:52;;;1697:1;1694;1687:12;1649:52;1737:9;1724:23;1766:18;1807:2;1799:6;1796:14;1793:34;;;1823:1;1820;1813:12;1793:34;1861:6;1850:9;1846:22;1836:32;;1906:7;1899:4;1895:2;1891:13;1887:27;1877:55;;1928:1;1925;1918:12;1877:55;1968:2;1955:16;1994:2;1986:6;1983:14;1980:34;;;2010:1;2007;2000:12;1980:34;2065:7;2058:4;2048:6;2045:1;2041:14;2037:2;2033:23;2029:34;2026:47;2023:67;;;2086:1;2083;2076:12;2023:67;2117:4;2109:13;;;;-1:-1:-1;2141:6:1;-1:-1:-1;;2182:20:1;;2169:34;2212:28;2169:34;2212:28;:::i;:::-;2259:5;2249:15;;;1520:750;;;;;:::o;2275:456::-;2352:6;2360;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2476:9;2463:23;2495:31;2520:5;2495:31;:::i;:::-;2545:5;-1:-1:-1;2602:2:1;2587:18;;2574:32;2615:33;2574:32;2615:33;:::i;:::-;2275:456;;2667:7;;-1:-1:-1;;;2721:2:1;2706:18;;;;2693:32;;2275:456::o;2736:247::-;2795:6;2848:2;2836:9;2827:7;2823:23;2819:32;2816:52;;;2864:1;2861;2854:12;2816:52;2903:9;2890:23;2922:31;2947:5;2922:31;:::i;3177:382::-;3242:6;3250;3303:2;3291:9;3282:7;3278:23;3274:32;3271:52;;;3319:1;3316;3309:12;3271:52;3358:9;3345:23;3377:31;3402:5;3377:31;:::i;:::-;3427:5;-1:-1:-1;3484:2:1;3469:18;;3456:32;3497:30;3456:32;3497:30;:::i;:::-;3546:7;3536:17;;;3177:382;;;;;:::o;3564:592::-;3677:6;3685;3693;3701;3709;3717;3725;3778:3;3766:9;3757:7;3753:23;3749:33;3746:53;;;3795:1;3792;3785:12;3746:53;-1:-1:-1;;3818:23:1;;;3888:2;3873:18;;3860:32;;-1:-1:-1;3939:2:1;3924:18;;3911:32;;3990:2;3975:18;;3962:32;;-1:-1:-1;4041:3:1;4026:19;;4013:33;;-1:-1:-1;4093:3:1;4078:19;;4065:33;;-1:-1:-1;4145:3:1;4130:19;4117:33;;-1:-1:-1;3564:592:1;-1:-1:-1;3564:592:1:o;4369:529::-;4446:6;4454;4462;4515:2;4503:9;4494:7;4490:23;4486:32;4483:52;;;4531:1;4528;4521:12;4483:52;4570:9;4557:23;4589:31;4614:5;4589:31;:::i;:::-;4639:5;-1:-1:-1;4696:2:1;4681:18;;4668:32;4709:33;4668:32;4709:33;:::i;:::-;4761:7;-1:-1:-1;4820:2:1;4805:18;;4792:32;4833:33;4792:32;4833:33;:::i;4903:316::-;4980:6;4988;4996;5049:2;5037:9;5028:7;5024:23;5020:32;5017:52;;;5065:1;5062;5055:12;5017:52;-1:-1:-1;;5088:23:1;;;5158:2;5143:18;;5130:32;;-1:-1:-1;5209:2:1;5194:18;;;5181:32;;4903:316;-1:-1:-1;4903:316:1:o;5224:388::-;5292:6;5300;5353:2;5341:9;5332:7;5328:23;5324:32;5321:52;;;5369:1;5366;5359:12;5321:52;5408:9;5395:23;5427:31;5452:5;5427:31;:::i;:::-;5477:5;-1:-1:-1;5534:2:1;5519:18;;5506:32;5547:33;5506:32;5547:33;:::i;5877:329::-;6079:2;6061:21;;;6118:1;6098:18;;;6091:29;-1:-1:-1;;;6151:2:1;6136:18;;6129:36;6197:2;6182:18;;5877:329::o;6211:127::-;6272:10;6267:3;6263:20;6260:1;6253:31;6303:4;6300:1;6293:15;6327:4;6324:1;6317:15;6343:127;6404:10;6399:3;6395:20;6392:1;6385:31;6435:4;6432:1;6425:15;6459:4;6456:1;6449:15;6475:135;6514:3;6535:17;;;6532:43;;6555:18;;:::i;:::-;-1:-1:-1;6602:1:1;6591:13;;6475:135::o;7029:184::-;7099:6;7152:2;7140:9;7131:7;7127:23;7123:32;7120:52;;;7168:1;7165;7158:12;7120:52;-1:-1:-1;7191:16:1;;7029:184;-1:-1:-1;7029:184:1:o;7497:245::-;7564:6;7617:2;7605:9;7596:7;7592:23;7588:32;7585:52;;;7633:1;7630;7623:12;7585:52;7665:9;7659:16;7684:28;7706:5;7684:28;:::i;9186:128::-;9253:9;;;9274:11;;;9271:37;;;9288:18;;:::i;11595:125::-;11660:9;;;11681:10;;;11678:36;;;11694:18;;:::i;11725:168::-;11798:9;;;11829;;11846:15;;;11840:22;;11826:37;11816:71;;11867:18;;:::i;11898:217::-;11938:1;11964;11954:132;;12008:10;12003:3;11999:20;11996:1;11989:31;12043:4;12040:1;12033:15;12071:4;12068:1;12061:15;11954:132;-1:-1:-1;12100:9:1;;11898:217::o;12252:251::-;12322:6;12375:2;12363:9;12354:7;12350:23;12346:32;12343:52;;;12391:1;12388;12381:12;12343:52;12423:9;12417:16;12442:31;12467:5;12442:31;:::i;12508:980::-;12770:4;12818:3;12807:9;12803:19;12849:6;12838:9;12831:25;12875:2;12913:6;12908:2;12897:9;12893:18;12886:34;12956:3;12951:2;12940:9;12936:18;12929:31;12980:6;13015;13009:13;13046:6;13038;13031:22;13084:3;13073:9;13069:19;13062:26;;13123:2;13115:6;13111:15;13097:29;;13144:1;13154:195;13168:6;13165:1;13162:13;13154:195;;;13233:13;;-1:-1:-1;;;;;13229:39:1;13217:52;;13324:15;;;;13289:12;;;;13265:1;13183:9;13154:195;;;-1:-1:-1;;;;;;;13405:32:1;;;;13400:2;13385:18;;13378:60;-1:-1:-1;;;13469:3:1;13454:19;13447:35;13366:3;12508:980;-1:-1:-1;;;12508:980:1:o;14105:306::-;14193:6;14201;14209;14262:2;14250:9;14241:7;14237:23;14233:32;14230:52;;;14278:1;14275;14268:12;14230:52;14307:9;14301:16;14291:26;;14357:2;14346:9;14342:18;14336:25;14326:35;;14401:2;14390:9;14386:18;14380:25;14370:35;;14105:306;;;;;:::o

Swarm Source

ipfs://a20f2182e25e447e4dc66fa2fc220d76773487b77e5e2e6e7a5aaf93ecb85971

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.