ETH Price: $1,987.30 (-4.20%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve244896142026-02-19 8:11:477 days ago1771488707IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000005070.10893048
Approve243721092026-02-02 22:18:5923 days ago1770070739IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000019530.41935315
Approve242560202026-01-17 17:40:4740 days ago1768671647IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000002150.04656094
Approve239870732025-12-11 4:31:5977 days ago1765427519IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000015490.6378421
Approve238308522025-11-19 4:49:1199 days ago1763527751IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000008340.17946631
Approve237276272025-11-04 18:05:23113 days ago1762279523IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000385138.31956085
Approve234744222025-09-30 7:49:11149 days ago1759218551IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000025261.03977493
Approve230931692025-08-08 1:50:23202 days ago1754617823IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000010730.23084382
Approve226743202025-06-10 12:59:59261 days ago1749560399IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000334337.18308688
Transfer225866602025-05-29 6:36:11273 days ago1748500571IN
0x70D09Fc7...7c4B9FC73
0 ETH0.00015321.9583037
Approve225736992025-05-27 11:03:23275 days ago1748343803IN
0x70D09Fc7...7c4B9FC73
0 ETH0.0005287411.35112192
Approve225736982025-05-27 11:03:11275 days ago1748343791IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000152883.28220373
Approve225736972025-05-27 11:02:59275 days ago1748343779IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000292556.28220372
Approve225669062025-05-26 12:16:23276 days ago1748261783IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000069511.49230749
Approve225373672025-05-22 8:57:47280 days ago1747904267IN
0x70D09Fc7...7c4B9FC73
0 ETH0.00009692.09652249
Approve225373632025-05-22 8:56:59280 days ago1747904219IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000094542.04227649
Approve225373282025-05-22 8:49:59280 days ago1747903799IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000193344.15177162
Approve225371532025-05-22 8:14:59280 days ago1747901699IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000194044.16676128
Approve225369372025-05-22 7:31:23280 days ago1747899083IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000168743.6226883
Approve225369372025-05-22 7:31:23280 days ago1747899083IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000168743.6226883
Approve225369362025-05-22 7:31:11280 days ago1747899071IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000310636.668701
Approve225369312025-05-22 7:30:11280 days ago1747899011IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000096132.06374953
Approve217565642025-02-02 4:51:35389 days ago1738471895IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000062581.34524576
Approve217496842025-02-01 5:48:59390 days ago1738388939IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000105872.27579602
Approve183079202023-10-08 19:43:59871 days ago1696794239IN
0x70D09Fc7...7c4B9FC73
0 ETH0.000293086.3
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer227356622025-06-19 2:52:11252 days ago1750301531
0x70D09Fc7...7c4B9FC73
0.00536156 ETH
Transfer227356622025-06-19 2:52:11252 days ago1750301531
0x70D09Fc7...7c4B9FC73
0.00530848 ETH
Transfer227356622025-06-19 2:52:11252 days ago1750301531
0x70D09Fc7...7c4B9FC73
0.01067005 ETH
Transfer225373682025-05-22 8:57:59280 days ago1747904279
0x70D09Fc7...7c4B9FC73
0.00724702 ETH
Transfer225373682025-05-22 8:57:59280 days ago1747904279
0x70D09Fc7...7c4B9FC73
0.00717527 ETH
Transfer225373682025-05-22 8:57:59280 days ago1747904279
0x70D09Fc7...7c4B9FC73
0.0144223 ETH
Transfer180334832023-08-31 8:52:47910 days ago1693471967
0x70D09Fc7...7c4B9FC73
0.01946297 ETH
Transfer180334832023-08-31 8:52:47910 days ago1693471967
0x70D09Fc7...7c4B9FC73
0.01927026 ETH
Transfer180334832023-08-31 8:52:47910 days ago1693471967
0x70D09Fc7...7c4B9FC73
0.03873323 ETH
Transfer180331142023-08-31 7:38:59910 days ago1693467539
0x70D09Fc7...7c4B9FC73
0.01606959 ETH
Transfer180331142023-08-31 7:38:59910 days ago1693467539
0x70D09Fc7...7c4B9FC73
0.01591048 ETH
Transfer180331142023-08-31 7:38:59910 days ago1693467539
0x70D09Fc7...7c4B9FC73
0.03198008 ETH
Transfer180330082023-08-31 7:17:35910 days ago1693466255
0x70D09Fc7...7c4B9FC73
0.01814862 ETH
Transfer180330082023-08-31 7:17:35910 days ago1693466255
0x70D09Fc7...7c4B9FC73
0.01796893 ETH
Transfer180330082023-08-31 7:17:35910 days ago1693466255
0x70D09Fc7...7c4B9FC73
0.03611755 ETH
Transfer180329152023-08-31 6:58:47910 days ago1693465127
0x70D09Fc7...7c4B9FC73
0.07107846 ETH
Transfer180329152023-08-31 6:58:47910 days ago1693465127
0x70D09Fc7...7c4B9FC73
0.07037472 ETH
Transfer180329152023-08-31 6:58:47910 days ago1693465127
0x70D09Fc7...7c4B9FC73
0.14145318 ETH
Transfer180328232023-08-31 6:40:11910 days ago1693464011
0x70D09Fc7...7c4B9FC73
0.05378447 ETH
Transfer180328232023-08-31 6:40:11910 days ago1693464011
0x70D09Fc7...7c4B9FC73
0.05325195 ETH
Transfer180328232023-08-31 6:40:11910 days ago1693464011
0x70D09Fc7...7c4B9FC73
0.10703642 ETH
Transfer180328222023-08-31 6:39:59910 days ago1693463999
0x70D09Fc7...7c4B9FC73
0.05127464 ETH
Transfer180328222023-08-31 6:39:59910 days ago1693463999
0x70D09Fc7...7c4B9FC73
0.05076697 ETH
Transfer180328222023-08-31 6:39:59910 days ago1693463999
0x70D09Fc7...7c4B9FC73
0.10204161 ETH
Transfer180328222023-08-31 6:39:59910 days ago1693463999
0x70D09Fc7...7c4B9FC73
0.05127464 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PEPE2

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-08-31
*/

/**
Pepe 2.0 - $PEPE2  

Pepe 2.0, a project made by community for community. 
Feels good man, to make a project that is safe as ever for us meme enthusiasts! 

Website: https://pepe2community.org/
Telegram: https://t.me/pepe2community
Twitter: https://twitter.com/pepe2community_

*/

// 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 PEPE2 is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Pepe 2.0';
    string private constant _symbol = 'PEPE2';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 69000000000 * (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 = 4;
    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 = 500;
    uint256 private developmentFee = 500;
    uint256 private burnFee = 0;
    uint256 private totalFee = 3000;
    uint256 private sellFee = 6000;
    uint256 private transferFee = 6000;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0xA3B57283796BEf65A6d809b8aB59f3fcCd9A41b1; 
    address internal marketing_receiver = 0xA3B57283796BEf65A6d809b8aB59f3fcCd9A41b1;
    address internal liquidity_receiver = 0xA3B57283796BEf65A6d809b8aB59f3fcCd9A41b1;
    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 setTransactionRequirements(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.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "totalFee and sellFee cannot be more than 20%");
    }

    function setTransactionLimits(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 {
        uint256 amount = balanceOf(address(this));
        if(amount > swapThreshold){amount = swapThreshold;}
        swapAndLiquify(amount);
    }

    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

API
[{"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":"setTransactionLimits","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":"setTransactionRequirements","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"}]

6080604052620000126009600a620004d4565b6200002390641010b87200620004ec565b60018190556007805461ffff60a01b1916600160a81b1790556004600a55620186a09062000054906103e8620004ec565b62000060919062000506565b600b55620186a0600154600a620000789190620004ec565b62000084919062000506565b600c556000600d8190556101f4600e819055600f55601055610bb8601155611770601281905560135561271060148190556015805473a3b57283796bef65a6d809b8ab59f3fccd9a41b16001600160a01b0319918216811790925560168054821683179055601780549091169091179055600154620001059060c8620004ec565b62000111919062000506565b60185561271060015460c8620001289190620004ec565b62000134919062000506565b60195561271060015460c86200014b9190620004ec565b62000157919062000506565b601a553480156200016757600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f5919062000529565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000243573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000269919062000529565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd919062000529565b600680546001600160a01b038581166001600160a01b031992831617909255600780548484169216919091179055306000908152600460209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165486168552828520805482168317905560155490951684528184208054861682179055338085528285208054909616821790955554600283528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000554565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000416578160001904821115620003fa57620003fa620003bf565b808516156200040857918102915b93841c9390800290620003da565b509250929050565b6000826200042f57506001620004ce565b816200043e57506000620004ce565b8160018114620004575760028114620004625762000482565b6001915050620004ce565b60ff841115620004765762000476620003bf565b50506001821b620004ce565b5060208310610133831016604e8410600b8410161715620004a7575081810a620004ce565b620004b38383620003d5565b8060001904821115620004ca57620004ca620003bf565b0290505b92915050565b6000620004e560ff8416836200041e565b9392505050565b8082028115828204841417620004ce57620004ce620003bf565b6000826200052457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053c57600080fd5b81516001600160a01b0381168114620004e557600080fd5b611e6f80620005646000396000f3fe6080604052600436106101855760003560e01c80637cca52fe116100d15780639cc353511161008a578063a9059cbb11610064578063a9059cbb146104a6578063cb7f97d7146104c6578063dd62ed3e146104e6578063f2fde38b1461052c57600080fd5b80639cc35351146104465780639d8740cb14610466578063a8aa1b311461048657600080fd5b80637cca52fe1461037a5780637d1db4a514610390578063893d20e8146103a65780638cd4426d146103d85780639213c358146103f857806395d89b411461041857600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102f957806351bc3c851461031957806370a082311461032e57806378109e541461036457600080fd5b80632f54bf6e1461027e578063313ce567146102ad5780633f4218e0146102c957600080fd5b806306fdde0314610191578063095ea7b3146101d457806318160ddd14610204578063229b6a5e1461022757806323b872dd14610249578063293230b81461026957600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600881526705065706520322e360c41b60208201525b6040516101cb91906119bb565b60405180910390f35b3480156101e057600080fd5b506101f46101ef366004611a1e565b61054c565b60405190151581526020016101cb565b34801561021057600080fd5b50610219610563565b6040519081526020016101cb565b34801561023357600080fd5b50610247610242366004611a58565b6105d4565b005b34801561025557600080fd5b506101f4610264366004611ade565b61067e565b34801561027557600080fd5b506102476106e8565b34801561028a57600080fd5b506101f4610299366004611b1f565b6000546001600160a01b0391821691161490565b3480156102b957600080fd5b50604051600981526020016101cb565b3480156102d557600080fd5b506101f46102e4366004611b1f565b60046020526000908152604090205460ff1681565b34801561030557600080fd5b50610247610314366004611b3c565b610727565b34801561032557600080fd5b5061024761077c565b34801561033a57600080fd5b50610219610349366004611b1f565b6001600160a01b031660009081526002602052604090205490565b34801561037057600080fd5b50610219601a5481565b34801561038657600080fd5b5061021960195481565b34801561039c57600080fd5b5061021960185481565b3480156103b257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cb565b3480156103e457600080fd5b506102476103f3366004611a1e565b6107d1565b34801561040457600080fd5b50610247610413366004611b75565b6108f8565b34801561042457600080fd5b506040805180820190915260058152642822a8229960d91b60208201526101be565b34801561045257600080fd5b50610247610461366004611bb5565b61099e565b34801561047257600080fd5b50610247610481366004611bb5565b610ad3565b34801561049257600080fd5b506007546103c0906001600160a01b031681565b3480156104b257600080fd5b506101f46104c1366004611a1e565b610b39565b3480156104d257600080fd5b506102476104e1366004611be1565b610b46565b3480156104f257600080fd5b50610219610501366004611c2d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053857600080fd5b50610247610547366004611b1f565b610c3d565b6000610559338484610cbb565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105cf9290916105c99190610ddf565b90610ddf565b905090565b6000546001600160a01b031633146106075760405162461bcd60e51b81526004016105fe90611c5b565b60405180910390fd5b60005b8281101561067857816005600086868581811061062957610629611c7b565b905060200201602081019061063e9190611b1f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061067081611ca7565b91505061060a565b50505050565b600061068b848484610deb565b6106dd84336106d885604051806060016040528060288152602001611e12602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611338565b610cbb565b5060015b9392505050565b6000546001600160a01b031633146107125760405162461bcd60e51b81526004016105fe90611c5b565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107515760405162461bcd60e51b81526004016105fe90611c5b565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107a65760405162461bcd60e51b81526004016105fe90611c5b565b30600090815260026020526040902054600b548111156107c55750600b545b6107ce81611364565b50565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016105fe90611c5b565b6040516370a0823160e01b815230600482015260009061087f906064906108799085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190611cc0565b906114e1565b906114ed565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190611cd9565b6000546001600160a01b031633146109225760405162461bcd60e51b81526004016105fe90611c5b565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109c85760405162461bcd60e51b81526004016105fe90611c5b565b60006109e5612710610879866001546114e190919063ffffffff16565b90506000610a04612710610879866001546114e190919063ffffffff16565b90506000610a23612710610879866001546114e190919063ffffffff16565b60188490556019839055601a81905590506000610a496103e86108796005610873610563565b9050808410158015610a5b5750808310155b8015610a675750808210155b610aca5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105fe565b50505050505050565b6000546001600160a01b03163314610afd5760405162461bcd60e51b81526004016105fe90611c5b565b600a839055600154610b1890620186a09061087990856114e1565b600b55600154610b3190620186a09061087990846114e1565b600c55505050565b6000610559338484610deb565b6000546001600160a01b03163314610b705760405162461bcd60e51b81526004016105fe90611c5b565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454610ba19060016114ed565b60115411158015610bc15750601454610bbb9060016114ed565b60125411155b8015610bdc5750601454610bd69060016114ed565b60135411155b610aca5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105fe565b6000546001600160a01b03163314610c675760405162461bcd60e51b81526004016105fe90611c5b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610d1d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105fe565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105fe565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106e18284611cf6565b6001600160a01b038316610e4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105fe565b6001600160a01b038216610eb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105fe565b6001600160a01b038316600090815260026020526040902054811115610f335760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105fe565b6001600160a01b03831660009081526004602052604090205460ff16158015610f7557506001600160a01b03821660009081526004602052604090205460ff16155b15610fc457600754600160a01b900460ff16610fc45760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105fe565b6001600160a01b03831660009081526004602052604090205460ff1615801561100657506001600160a01b03821660009081526004602052604090205460ff16155b801561102057506007546001600160a01b03838116911614155b801561103757506001600160a01b03821661dead14155b156110b057601a546001600160a01b03831660009081526002602052604090205461106290836114f9565b11156110b05760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105fe565b6007546001600160a01b0384811691161461115157601954811115806110ee57506001600160a01b03831660009081526004602052604090205460ff165b8061111157506001600160a01b03821660009081526004602052604090205460ff165b6111515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105fe565b6018548111158061117a57506001600160a01b03831660009081526004602052604090205460ff165b8061119d57506001600160a01b03821660009081526004602052604090205460ff165b6111dd5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105fe565b6007546001600160a01b03838116911614801561121357506001600160a01b03831660009081526004602052604090205460ff16155b156112315760016008600082825461122b9190611d09565b90915550505b61123c838383611505565b156112525761124c600b54611364565b60006008555b6001600160a01b0383166000908152600260205260409020546112759082610ddf565b6001600160a01b03841660009081526002602052604081209190915561129b84846115bf565b6112a557816112b0565b6112b0848484611605565b6001600160a01b0384166000908152600260205260409020549091506112d690826114f9565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061132a9085815260200190565b60405180910390a350505050565b6000818484111561135c5760405162461bcd60e51b81526004016105fe91906119bb565b505050900390565b6009805460ff19166001908117909155600f54600e54600d5460009361139e936002936108739391926113989283916114f9565b906114f9565b905060006113bb82610879600d54866114e190919063ffffffff16565b905060006113c98483610ddf565b9050476113d58261170c565b60006113e14783610ddf565b905060006114046113fd600d5488610ddf90919063ffffffff16565b83906114ed565b9050600061141d600d54836114e190919063ffffffff16565b9050801561142f5761142f8682611866565b600e54600090611444906108738560026114e1565b90508015611488576016546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611486573d6000803e3d6000fd5b505b4780156114cb576015546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156114c9573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106e18284611d1c565b60006106e18284611d33565b60006106e18284611d09565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115405750600754600160a81b900460ff165b80156115555750600754600160a01b900460ff165b801561155e5750815b801561158357506001600160a01b03861660009081526004602052604090205460ff16155b801561159c57506007546001600160a01b038681169116145b80156115ac5750600a5460085410155b80156115b55750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106e15750506001600160a01b031660009081526004602052604090205460ff1615919050565b600080611612858561191a565b1115611705576000611635611627868661191a565b6014546108739086906114ed565b3060009081526002602052604090205490915061165290826114f9565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116a39085815260200190565b60405180910390a360006010541180156116c757506010546116c5868661191a565b115b156116f3576116f33061dead6116ee601054610873601454896114ed90919063ffffffff16565b610deb565b6116fd8382610ddf565b9150506106e1565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061174157611741611c7b565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be9190611d55565b816001815181106117d1576117d1611c7b565b6001600160a01b0392831660209182029290920101526006546117f79130911684610cbb565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611830908590600090869030904290600401611d72565b600060405180830381600087803b15801561184a57600080fd5b505af115801561185e573d6000803e3d6000fd5b505050505050565b60065461187e9030906001600160a01b031684610cbb565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119139190611de3565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061195957506001600160a01b03821660009081526005602052604090205460ff165b156119735760145461196c906064610ddf565b905061055d565b6007546001600160a01b0390811690831603611992575060125461055d565b6007546001600160a01b03908116908416036119b1575060115461055d565b5060135492915050565b600060208083528351808285015260005b818110156119e8578581018301518582016040015282016119cc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ce57600080fd5b60008060408385031215611a3157600080fd5b8235611a3c81611a09565b946020939093013593505050565b80151581146107ce57600080fd5b600080600060408486031215611a6d57600080fd5b833567ffffffffffffffff80821115611a8557600080fd5b818601915086601f830112611a9957600080fd5b813581811115611aa857600080fd5b8760208260051b8501011115611abd57600080fd5b60209283019550935050840135611ad381611a4a565b809150509250925092565b600080600060608486031215611af357600080fd5b8335611afe81611a09565b92506020840135611b0e81611a09565b929592945050506040919091013590565b600060208284031215611b3157600080fd5b81356106e181611a09565b60008060408385031215611b4f57600080fd5b8235611b5a81611a09565b91506020830135611b6a81611a4a565b809150509250929050565b600080600060608486031215611b8a57600080fd5b8335611b9581611a09565b92506020840135611ba581611a09565b91506040840135611ad381611a09565b600080600060608486031215611bca57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611bfc57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60008060408385031215611c4057600080fd5b8235611c4b81611a09565b91506020830135611b6a81611a09565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cb957611cb9611c91565b5060010190565b600060208284031215611cd257600080fd5b5051919050565b600060208284031215611ceb57600080fd5b81516106e181611a4a565b8181038181111561055d5761055d611c91565b8082018082111561055d5761055d611c91565b808202811582820484141761055d5761055d611c91565b600082611d5057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d6757600080fd5b81516106e181611a09565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc25784516001600160a01b031683529383019391830191600101611d9d565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611df857600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202549b1dda70e41b0ffa0624453288b778baa448f72269f4483303f4b3aa99f4764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80637cca52fe116100d15780639cc353511161008a578063a9059cbb11610064578063a9059cbb146104a6578063cb7f97d7146104c6578063dd62ed3e146104e6578063f2fde38b1461052c57600080fd5b80639cc35351146104465780639d8740cb14610466578063a8aa1b311461048657600080fd5b80637cca52fe1461037a5780637d1db4a514610390578063893d20e8146103a65780638cd4426d146103d85780639213c358146103f857806395d89b411461041857600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102f957806351bc3c851461031957806370a082311461032e57806378109e541461036457600080fd5b80632f54bf6e1461027e578063313ce567146102ad5780633f4218e0146102c957600080fd5b806306fdde0314610191578063095ea7b3146101d457806318160ddd14610204578063229b6a5e1461022757806323b872dd14610249578063293230b81461026957600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600881526705065706520322e360c41b60208201525b6040516101cb91906119bb565b60405180910390f35b3480156101e057600080fd5b506101f46101ef366004611a1e565b61054c565b60405190151581526020016101cb565b34801561021057600080fd5b50610219610563565b6040519081526020016101cb565b34801561023357600080fd5b50610247610242366004611a58565b6105d4565b005b34801561025557600080fd5b506101f4610264366004611ade565b61067e565b34801561027557600080fd5b506102476106e8565b34801561028a57600080fd5b506101f4610299366004611b1f565b6000546001600160a01b0391821691161490565b3480156102b957600080fd5b50604051600981526020016101cb565b3480156102d557600080fd5b506101f46102e4366004611b1f565b60046020526000908152604090205460ff1681565b34801561030557600080fd5b50610247610314366004611b3c565b610727565b34801561032557600080fd5b5061024761077c565b34801561033a57600080fd5b50610219610349366004611b1f565b6001600160a01b031660009081526002602052604090205490565b34801561037057600080fd5b50610219601a5481565b34801561038657600080fd5b5061021960195481565b34801561039c57600080fd5b5061021960185481565b3480156103b257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cb565b3480156103e457600080fd5b506102476103f3366004611a1e565b6107d1565b34801561040457600080fd5b50610247610413366004611b75565b6108f8565b34801561042457600080fd5b506040805180820190915260058152642822a8229960d91b60208201526101be565b34801561045257600080fd5b50610247610461366004611bb5565b61099e565b34801561047257600080fd5b50610247610481366004611bb5565b610ad3565b34801561049257600080fd5b506007546103c0906001600160a01b031681565b3480156104b257600080fd5b506101f46104c1366004611a1e565b610b39565b3480156104d257600080fd5b506102476104e1366004611be1565b610b46565b3480156104f257600080fd5b50610219610501366004611c2d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053857600080fd5b50610247610547366004611b1f565b610c3d565b6000610559338484610cbb565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105cf9290916105c99190610ddf565b90610ddf565b905090565b6000546001600160a01b031633146106075760405162461bcd60e51b81526004016105fe90611c5b565b60405180910390fd5b60005b8281101561067857816005600086868581811061062957610629611c7b565b905060200201602081019061063e9190611b1f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061067081611ca7565b91505061060a565b50505050565b600061068b848484610deb565b6106dd84336106d885604051806060016040528060288152602001611e12602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611338565b610cbb565b5060015b9392505050565b6000546001600160a01b031633146107125760405162461bcd60e51b81526004016105fe90611c5b565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107515760405162461bcd60e51b81526004016105fe90611c5b565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107a65760405162461bcd60e51b81526004016105fe90611c5b565b30600090815260026020526040902054600b548111156107c55750600b545b6107ce81611364565b50565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016105fe90611c5b565b6040516370a0823160e01b815230600482015260009061087f906064906108799085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190611cc0565b906114e1565b906114ed565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190611cd9565b6000546001600160a01b031633146109225760405162461bcd60e51b81526004016105fe90611c5b565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109c85760405162461bcd60e51b81526004016105fe90611c5b565b60006109e5612710610879866001546114e190919063ffffffff16565b90506000610a04612710610879866001546114e190919063ffffffff16565b90506000610a23612710610879866001546114e190919063ffffffff16565b60188490556019839055601a81905590506000610a496103e86108796005610873610563565b9050808410158015610a5b5750808310155b8015610a675750808210155b610aca5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105fe565b50505050505050565b6000546001600160a01b03163314610afd5760405162461bcd60e51b81526004016105fe90611c5b565b600a839055600154610b1890620186a09061087990856114e1565b600b55600154610b3190620186a09061087990846114e1565b600c55505050565b6000610559338484610deb565b6000546001600160a01b03163314610b705760405162461bcd60e51b81526004016105fe90611c5b565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454610ba19060016114ed565b60115411158015610bc15750601454610bbb9060016114ed565b60125411155b8015610bdc5750601454610bd69060016114ed565b60135411155b610aca5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105fe565b6000546001600160a01b03163314610c675760405162461bcd60e51b81526004016105fe90611c5b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610d1d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105fe565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105fe565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106e18284611cf6565b6001600160a01b038316610e4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105fe565b6001600160a01b038216610eb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105fe565b6001600160a01b038316600090815260026020526040902054811115610f335760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105fe565b6001600160a01b03831660009081526004602052604090205460ff16158015610f7557506001600160a01b03821660009081526004602052604090205460ff16155b15610fc457600754600160a01b900460ff16610fc45760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105fe565b6001600160a01b03831660009081526004602052604090205460ff1615801561100657506001600160a01b03821660009081526004602052604090205460ff16155b801561102057506007546001600160a01b03838116911614155b801561103757506001600160a01b03821661dead14155b156110b057601a546001600160a01b03831660009081526002602052604090205461106290836114f9565b11156110b05760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105fe565b6007546001600160a01b0384811691161461115157601954811115806110ee57506001600160a01b03831660009081526004602052604090205460ff165b8061111157506001600160a01b03821660009081526004602052604090205460ff165b6111515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105fe565b6018548111158061117a57506001600160a01b03831660009081526004602052604090205460ff165b8061119d57506001600160a01b03821660009081526004602052604090205460ff165b6111dd5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105fe565b6007546001600160a01b03838116911614801561121357506001600160a01b03831660009081526004602052604090205460ff16155b156112315760016008600082825461122b9190611d09565b90915550505b61123c838383611505565b156112525761124c600b54611364565b60006008555b6001600160a01b0383166000908152600260205260409020546112759082610ddf565b6001600160a01b03841660009081526002602052604081209190915561129b84846115bf565b6112a557816112b0565b6112b0848484611605565b6001600160a01b0384166000908152600260205260409020549091506112d690826114f9565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061132a9085815260200190565b60405180910390a350505050565b6000818484111561135c5760405162461bcd60e51b81526004016105fe91906119bb565b505050900390565b6009805460ff19166001908117909155600f54600e54600d5460009361139e936002936108739391926113989283916114f9565b906114f9565b905060006113bb82610879600d54866114e190919063ffffffff16565b905060006113c98483610ddf565b9050476113d58261170c565b60006113e14783610ddf565b905060006114046113fd600d5488610ddf90919063ffffffff16565b83906114ed565b9050600061141d600d54836114e190919063ffffffff16565b9050801561142f5761142f8682611866565b600e54600090611444906108738560026114e1565b90508015611488576016546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611486573d6000803e3d6000fd5b505b4780156114cb576015546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156114c9573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106e18284611d1c565b60006106e18284611d33565b60006106e18284611d09565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115405750600754600160a81b900460ff165b80156115555750600754600160a01b900460ff165b801561155e5750815b801561158357506001600160a01b03861660009081526004602052604090205460ff16155b801561159c57506007546001600160a01b038681169116145b80156115ac5750600a5460085410155b80156115b55750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106e15750506001600160a01b031660009081526004602052604090205460ff1615919050565b600080611612858561191a565b1115611705576000611635611627868661191a565b6014546108739086906114ed565b3060009081526002602052604090205490915061165290826114f9565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116a39085815260200190565b60405180910390a360006010541180156116c757506010546116c5868661191a565b115b156116f3576116f33061dead6116ee601054610873601454896114ed90919063ffffffff16565b610deb565b6116fd8382610ddf565b9150506106e1565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061174157611741611c7b565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be9190611d55565b816001815181106117d1576117d1611c7b565b6001600160a01b0392831660209182029290920101526006546117f79130911684610cbb565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611830908590600090869030904290600401611d72565b600060405180830381600087803b15801561184a57600080fd5b505af115801561185e573d6000803e3d6000fd5b505050505050565b60065461187e9030906001600160a01b031684610cbb565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119139190611de3565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061195957506001600160a01b03821660009081526005602052604090205460ff165b156119735760145461196c906064610ddf565b905061055d565b6007546001600160a01b0390811690831603611992575060125461055d565b6007546001600160a01b03908116908416036119b1575060115461055d565b5060135492915050565b600060208083528351808285015260005b818110156119e8578581018301518582016040015282016119cc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ce57600080fd5b60008060408385031215611a3157600080fd5b8235611a3c81611a09565b946020939093013593505050565b80151581146107ce57600080fd5b600080600060408486031215611a6d57600080fd5b833567ffffffffffffffff80821115611a8557600080fd5b818601915086601f830112611a9957600080fd5b813581811115611aa857600080fd5b8760208260051b8501011115611abd57600080fd5b60209283019550935050840135611ad381611a4a565b809150509250925092565b600080600060608486031215611af357600080fd5b8335611afe81611a09565b92506020840135611b0e81611a09565b929592945050506040919091013590565b600060208284031215611b3157600080fd5b81356106e181611a09565b60008060408385031215611b4f57600080fd5b8235611b5a81611a09565b91506020830135611b6a81611a4a565b809150509250929050565b600080600060608486031215611b8a57600080fd5b8335611b9581611a09565b92506020840135611ba581611a09565b91506040840135611ad381611a09565b600080600060608486031215611bca57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611bfc57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60008060408385031215611c4057600080fd5b8235611c4b81611a09565b91506020830135611b6a81611a09565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611cb957611cb9611c91565b5060010190565b600060208284031215611cd257600080fd5b5051919050565b600060208284031215611ceb57600080fd5b81516106e181611a4a565b8181038181111561055d5761055d611c91565b8082018082111561055d5761055d611c91565b808202811582820484141761055d5761055d611c91565b600082611d5057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d6757600080fd5b81516106e181611a09565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc25784516001600160a01b031683529383019391830191600101611d9d565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611df857600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202549b1dda70e41b0ffa0624453288b778baa448f72269f4483303f4b3aa99f4764736f6c63430008130033

Deployed Bytecode Sourcemap

4967:11462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7405:67;;;;;;;;;;-1:-1:-1;7465:5:0;;;;;;;;;;;;-1:-1:-1;;;7465:5:0;;;;7405:67;;;;;;;:::i;:::-;;;;;;;;8286:133;;;;;;;;;;-1:-1:-1;8286:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8286:133:0;1023:187:1;8425:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8425:132:0;1215:177:1;10745:184:0;;;;;;;;;;-1:-1:-1;10745:184:0;;;;;:::i;:::-;;:::i;:::-;;15774:309;;;;;;;;;;-1:-1:-1;15774:309:0;;;;;:::i;:::-;;:::i;7628:67::-;;;;;;;;;;;;;:::i;3871:87::-;;;;;;;;;;-1:-1:-1;3871:87:0;;;;;:::i;:::-;3926:4;3951:5;-1:-1:-1;;;;;3940:16:0;;;3951:5;;3940:16;;3871:87;7555:67;;;;;;;;;;-1:-1:-1;7555:67:0;;5173:1;3130:36:1;;3118:2;3103:18;7555:67:0;2988:184:1;5371:44:0;;;;;;;;;;-1:-1:-1;5371:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8172:108;;;;;;;;;;-1:-1:-1;8172:108:0;;;;;:::i;:::-;;:::i;10937:195::-;;;;;;;;;;;;;:::i;7785:103::-;;;;;;;;;;-1:-1:-1;7785:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7868:18:0;7851:7;7868:18;;;:9;:18;;;;;;;7785:103;6688:63;;;;;;;;;;;;;;;;6619:62;;;;;;;;;;;;;;;;6552:60;;;;;;;;;;;;;;;;7701:78;;;;;;;;;;-1:-1:-1;7753:7:0;7771:5;-1:-1:-1;;;;;7771:5:0;7701:78;;;-1:-1:-1;;;;;3728:32:1;;;3710:51;;3698:2;3683:18;7701:78:0;3564:203:1;11140:242:0;;;;;;;;;;-1:-1:-1;11140:242:0;;;;;:::i;:::-;;:::i;10399:338::-;;;;;;;;;;-1:-1:-1;10399:338:0;;;;;:::i;:::-;;:::i;7478:71::-;;;;;;;;;;-1:-1:-1;7540:7:0;;;;;;;;;;;;-1:-1:-1;;;7540:7:0;;;;7478:71;;9835:556;;;;;;;;;;-1:-1:-1;9835:556:0;;;;;:::i;:::-;;:::i;8976:319::-;;;;;;;;;;-1:-1:-1;8976:319:0;;;;;:::i;:::-;;:::i;5489:19::-;;;;;;;;;;-1:-1:-1;5489:19:0;;;;-1:-1:-1;;;;;5489:19:0;;;7894:139;;;;;;;;;;-1:-1:-1;7894:139:0;;;;;:::i;:::-;;:::i;9303:524::-;;;;;;;;;;-1:-1:-1;9303:524:0;;;;;:::i;:::-;;:::i;8039:127::-;;;;;;;;;;-1:-1:-1;8039:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8137:18:0;;;8120:7;8137:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8039:127;3964:111;;;;;;;;;;-1:-1:-1;3964:111:0;;;;;:::i;:::-;;:::i;8286:133::-;8361:4;8368:37;8377:10;8389:7;8398:6;8368:8;:37::i;:::-;-1:-1:-1;8413:4:0;8286:133;;;;;:::o;8425:132::-;7868:9;:18;;;;6239:42;8478:7;7868:18;;;;;8495:12;;8478:7;;8495:60;;7868:18;;8495:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8488:67;;8425:132;:::o;10745:184::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;;;;;;;;;10842:6:::1;10838:84;10852:20:::0;;::::1;10838:84;;;10911:8;10889:5;:19;10895:9;;10905:1;10895:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10889:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10889:19:0;:30;;-1:-1:-1;;10889:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10874:3;::::1;::::0;::::1;:::i;:::-;;;;10838:84;;;;10745:184:::0;;;:::o;15774:309::-;15872:4;15889:36;15899:6;15907:9;15918:6;15889:9;:36::i;:::-;15936:117;15945:6;15953:10;15965:87;16001:6;15965:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15965:19:0;;;;;;:11;:19;;;;;;;;15985:10;15965:31;;;;;;;;;:87;:35;:87::i;:::-;15936:8;:117::i;:::-;-1:-1:-1;16071:4:0;15774:309;;;;;;:::o;7628:67::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;7672:14:::1;:21:::0;;-1:-1:-1;;;;7672:21:0::1;-1:-1:-1::0;;;7672:21:0::1;::::0;;7628:67::o;8172:108::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8246:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8246:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8172:108::o;10937:195::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;11024:4:::1;10989:14;7868:18:::0;;;:9;:18;;;;;;11053:13:::1;::::0;11044:22;::::1;11041:51;;;-1:-1:-1::0;11077:13:0::1;::::0;11041:51:::1;11102:22;11117:6;11102:14;:22::i;:::-;10978:154;10937:195::o:0;11140:242::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;11244:41:::1;::::0;-1:-1:-1;;;11244:41:0;;11279:4:::1;11244:41;::::0;::::1;3710:51:1::0;11226:15:0::1;::::0;11244:63:::1;::::0;11303:3:::1;::::0;11244:54:::1;::::0;11290:7;;-1:-1:-1;;;;;11244:26:0;::::1;::::0;::::1;::::0;3683:18:1;;11244:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;11344:20;::::0;11318:56:::1;::::0;-1:-1:-1;;;11318:56:0;;-1:-1:-1;;;;;11344:20:0;;::::1;11318:56;::::0;::::1;6978:51:1::0;7045:18;;;7038:34;;;11226:81:0;;-1:-1:-1;11318:25:0;::::1;::::0;::::1;::::0;6951:18:1;;11318:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10399:338::-:0;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;10521:18:::1;:31:::0;;-1:-1:-1;;;;;10521:31:0;;::::1;-1:-1:-1::0;;;;;;10521:31:0;;::::1;::::0;::::1;::::0;;;10554:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;10587:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;10521:18:::1;10633:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;10633:30:0;;::::1;10521:31:::0;10633:30;;::::1;::::0;;;10665:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;10697:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;10399:338::o;9835:556::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;9941:13:::1;9957:33;9984:5;9957:22;9974:4;9957:12;;:16;;:22;;;;:::i;:33::-;9941:49;;9992:19;10014:34;10042:5;10014:23;10031:5;10014:12;;:16;;:23;;;;:::i;:34::-;9992:56;;10050:17;10070:36;10100:5;10070:25;10087:7;10070:12;;:16;;:25;;;;:::i;:36::-;10117:12;:20:::0;;;10139:14:::1;:28:::0;;;10169:15:::1;:27:::0;;;10050:56;-1:-1:-1;;10223:30:0::1;10248:4;10223:20;10241:1;10223:13;:11;:13::i;:30::-;10207:46;;10281:5;10272;:14;;:38;;;;;10305:5;10290:11;:20;;10272:38;:60;;;;;10327:5;10314:9;:18;;10272:60;10264:119;;;::::0;-1:-1:-1;;;10264:119:0;;7535:2:1;10264:119:0::1;::::0;::::1;7517:21:1::0;7574:2;7554:18;;;7547:30;7613:34;7593:18;;;7586:62;-1:-1:-1;;;7664:18:1;;;7657:44;7718:19;;10264:119:0::1;7333:410:1::0;10264:119:0::1;9930:461;;;;9835:556:::0;;;:::o;8976:319::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;9109:10:::1;:24:::0;;;9151:12:::1;::::0;:53:::1;::::0;9196:6:::1;::::0;9151:32:::1;::::0;9168:14;9151:16:::1;:32::i;:53::-;9135:13;:69:::0;9233:12:::1;::::0;:54:::1;::::0;9279:6:::1;::::0;9233:33:::1;::::0;9250:15;9233:16:::1;:33::i;:54::-;9216:14;:71:::0;-1:-1:-1;;;8976:319:0:o;7894:139::-;7972:4;7979:40;7989:10;8001:9;8012:6;7979:9;:40::i;9303:524::-;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;9493:12:::1;:25:::0;;;9520:12:::1;:25:::0;;;9547:7:::1;:15:::0;;;9564:14:::1;:29:::0;;;9595:8:::1;:17:::0;;;9614:7:::1;:15:::0;;;9631:11:::1;:20:::0;;;9682:11:::1;::::0;:18:::1;::::0;-1:-1:-1;9682:15:0::1;:18::i;:::-;9670:8;;:30;;:63;;;;-1:-1:-1::0;9715:11:0::1;::::0;:18:::1;::::0;9731:1:::1;9715:15;:18::i;:::-;9704:7;;:29;;9670:63;:100;;;;-1:-1:-1::0;9752:11:0::1;::::0;:18:::1;::::0;9768:1:::1;9752:15;:18::i;:::-;9737:11;;:33;;9670:100;9662:157;;;::::0;-1:-1:-1;;;9662:157:0;;7950:2:1;9662:157:0::1;::::0;::::1;7932:21:1::0;7989:2;7969:18;;;7962:30;8028:34;8008:18;;;8001:62;-1:-1:-1;;;8079:18:1;;;8072:42;8131:19;;9662:157:0::1;7748:408:1::0;3964:111:0;3926:4;3951:5;-1:-1:-1;;;;;3951:5:0;3838:10;3940:16;3822:38;;;;-1:-1:-1;;;3822:38:0;;;;;;;:::i;:::-;4030:5:::1;:11:::0;;-1:-1:-1;;;;;;4030:11:0::1;-1:-1:-1::0;;;;;4030:11:0;::::1;::::0;;::::1;::::0;;;4048:25:::1;::::0;3710:51:1;;;4048:25:0::1;::::0;3698:2:1;3683:18;4048:25:0::1;;;;;;;3964:111:::0;:::o;16091:335::-;-1:-1:-1;;;;;16184:19:0;;16176:68;;;;-1:-1:-1;;;16176:68:0;;8579:2:1;16176:68:0;;;8561:21:1;8618:2;8598:18;;;8591:30;8657:34;8637:18;;;8630:62;-1:-1:-1;;;8708:18:1;;;8701:34;8752:19;;16176:68:0;8377:400:1;16176:68:0;-1:-1:-1;;;;;16263:21:0;;16255:68;;;;-1:-1:-1;;;16255:68:0;;8984:2:1;16255:68:0;;;8966:21:1;9023:2;9003:18;;;8996:30;9062:34;9042:18;;;9035:62;-1:-1:-1;;;9113:18:1;;;9106:32;9155:19;;16255:68:0;8782:398:1;16255:68:0;-1:-1:-1;;;;;16334:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16386:32;;1361:25:1;;;16386:32:0;;1334:18:1;16386:32:0;;;;;;;16091:335;;;:::o;1610:98::-;1668:7;1695:5;1699:1;1695;:5;:::i;14333:1433::-;-1:-1:-1;;;;;14430:20:0;;14422:70;;;;-1:-1:-1;;;14422:70:0;;9520:2:1;14422:70:0;;;9502:21:1;9559:2;9539:18;;;9532:30;9598:34;9578:18;;;9571:62;-1:-1:-1;;;9649:18:1;;;9642:35;9694:19;;14422:70:0;9318:401:1;14422:70:0;-1:-1:-1;;;;;14511:23:0;;14503:71;;;;-1:-1:-1;;;14503:71:0;;9926:2:1;14503:71:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:34;9984:18;;;9977:62;-1:-1:-1;;;10055:18:1;;;10048:33;10098:19;;14503:71:0;9724:399:1;14503:71:0;-1:-1:-1;;;;;7868:18:0;;7851:7;7868:18;;;:9;:18;;;;;;14593:6;:27;;14585:88;;;;-1:-1:-1;;;14585:88:0;;10330:2:1;14585:88:0;;;10312:21:1;10369:2;10349:18;;;10342:30;10408:34;10388:18;;;10381:62;-1:-1:-1;;;10459:18:1;;;10452:47;10516:19;;14585:88:0;10128:413:1;14585:88:0;-1:-1:-1;;;;;14688:19:0;;;;;;:11;:19;;;;;;;;14687:20;:47;;;;-1:-1:-1;;;;;;14712:22:0;;;;;;:11;:22;;;;;;;;14711:23;14687:47;14684:95;;;14744:14;;-1:-1:-1;;;14744:14:0;;;;14736:41;;;;-1:-1:-1;;;14736:41:0;;10748:2:1;14736:41:0;;;10730:21:1;10787:2;10767:18;;;10760:30;-1:-1:-1;;;10806:18:1;;;10799:44;10860:18;;14736:41:0;10546:338:1;14736:41:0;-1:-1:-1;;;;;14793:19:0;;;;;;:11;:19;;;;;;;;14792:20;:47;;;;-1:-1:-1;;;;;;14817:22:0;;;;;;:11;:22;;;;;;;;14816:23;14792:47;:77;;;;-1:-1:-1;14864:4:0;;-1:-1:-1;;;;;14843:26:0;;;14864:4;;14843:26;;14792:77;:107;;;;-1:-1:-1;;;;;;14873:26:0;;6239:42;14873:26;;14792:107;14789:220;;;14957:15;;-1:-1:-1;;;;;14920:20:0;;;;;;:9;:20;;;;;;:32;;14945:6;14920:24;:32::i;:::-;14919:53;;14911:96;;;;-1:-1:-1;;;14911:96:0;;11091:2:1;14911:96:0;;;11073:21:1;11130:2;11110:18;;;11103:30;11169:32;11149:18;;;11142:60;11219:18;;14911:96:0;10889:354:1;14911:96:0;15032:4;;-1:-1:-1;;;;;15022:14:0;;;15032:4;;15022:14;15019:124;;15056:14;;15046:6;:24;;:47;;;-1:-1:-1;;;;;;15074:19:0;;;;;;:11;:19;;;;;;;;15046:47;:73;;;-1:-1:-1;;;;;;15097:22:0;;;;;;:11;:22;;;;;;;;15046:73;15038:103;;;;-1:-1:-1;;;15038:103:0;;11450:2:1;15038:103:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;15038:103:0;11248:341:1;15038:103:0;15171:12;;15161:6;:22;;:45;;;-1:-1:-1;;;;;;15187:19:0;;;;;;:11;:19;;;;;;;;15161:45;:71;;;-1:-1:-1;;;;;;15210:22:0;;;;;;:11;:22;;;;;;;;15161:71;15153:101;;;;-1:-1:-1;;;15153:101:0;;11450:2:1;15153:101:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;15153:101:0;11248:341:1;15153:101:0;15282:4;;-1:-1:-1;;;;;15269:17:0;;;15282:4;;15269:17;:41;;;;-1:-1:-1;;;;;;15291:19:0;;;;;;:11;:19;;;;;;;;15290:20;15269:41;15266:71;;;15333:1;15312:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;15266:71:0;15350:45;15369:6;15377:9;15388:6;15350:18;:45::i;:::-;15347:105;;;15397:29;15412:13;;15397:14;:29::i;:::-;15448:1;15428:9;:22;15347:105;-1:-1:-1;;;;;15482:17:0;;;;;;:9;:17;;;;;;:29;;15504:6;15482:21;:29::i;:::-;-1:-1:-1;;;;;15462:17:0;;;;;;:9;:17;;;;;:49;;;;15547:32;15472:6;15569:9;15547:13;:32::i;:::-;:78;;15619:6;15547:78;;;15582:34;15590:6;15598:9;15609:6;15582:7;:34::i;:::-;-1:-1:-1;;;;;15659:20:0;;;;;;:9;:20;;;;;;15522:103;;-1:-1:-1;15659:40:0;;15522:103;15659:24;:40::i;:::-;-1:-1:-1;;;;;15636:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15715:43;;;;;;;;;;15743:14;1361:25:1;;1349:2;1334:18;;1215:177;15715:43:0;;;;;;;;14411:1355;14333:1433;;;:::o;2034:240::-;2154:7;2215:12;2207:6;;;;2199:29;;;;-1:-1:-1;;;2199:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2250:5:0;;;2034:240::o;11390:1063::-;5847:8;:15;;-1:-1:-1;;5847:15:0;5858:4;5847:15;;;;;;11527:14:::1;::::0;11509:12:::1;::::0;11485::::1;::::0;5847:8;;11484:66:::1;::::0;11548:1:::1;::::0;11485:57:::1;::::0;11527:14;;11485:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11484:66::-;11461:89;;11561:32;11596:42;11625:12;11596:24;11607:12;;11596:6;:10;;:24;;;;:::i;:42::-;11561:77:::0;-1:-1:-1;11649:14:0::1;11666:36;:6:::0;11561:77;11666:10:::1;:36::i;:::-;11649:53:::0;-1:-1:-1;11738:21:0::1;11770:24;11649:53:::0;11770:16:::1;:24::i;:::-;11805:20;11828:41;:21;11854:14:::0;11828:25:::1;:41::i;:::-;11805:64;;11880:19;11901:48;11918:30;11935:12;;11918;:16;;:30;;;;:::i;:::-;11901:12:::0;;:16:::1;:48::i;:::-;11880:69;;11960:29;11992;12008:12;;11992:11;:15;;:29;;;;:::i;:::-;11960:61:::0;-1:-1:-1;12035:34:0;;12032:103:::1;;12071:61;12084:24;12110:21;12071:12;:61::i;:::-;12191:12;::::0;12145:20:::1;::::0;12168:36:::1;::::0;:18:::1;:11:::0;12184:1:::1;12168:15;:18::i;:36::-;12145:59:::0;-1:-1:-1;12218:16:0;;12215:73:::1;;12244:18;::::0;12236:50:::1;::::0;-1:-1:-1;;;;;12244:18:0;;::::1;::::0;12236:50;::::1;;;::::0;12273:12;;12244:18:::1;12236:50:::0;12244:18;12236:50;12273:12;12244:18;12236:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12215:73;12324:21;12359:28:::0;;12356:90:::1;;12397:20;::::0;12389:55:::1;::::0;-1:-1:-1;;;;;12397:20:0;;::::1;::::0;12389:55;::::1;;;::::0;12428:15;;12397:20:::1;12389:55:::0;12397:20;12389:55;12428:15;12397:20;12389:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12356:90;-1:-1:-1::0;;5867:8:0;:16;;-1:-1:-1;;5867:16:0;;;-1:-1:-1;;;;;;;;11390:1063:0:o;1716:98::-;1774:7;1801:5;1805:1;1801;:5;:::i;1822:98::-;1880:7;1907:5;1911:1;1907;:5;:::i;1504:98::-;1562:7;1589:5;1593:1;1589;:5;:::i;8565:403::-;8710:14;;8785:13;;8775:4;8667;7868:18;;;:9;:18;;;;;;8817:8;;8667:4;;8700:24;;;;-1:-1:-1;8757:41:0;;8817:8;;8816:9;:24;;;;-1:-1:-1;8829:11:0;;-1:-1:-1;;;8829:11:0;;;;8816:24;:42;;;;-1:-1:-1;8844:14:0;;-1:-1:-1;;;8844:14:0;;;;8816:42;:54;;;;;8862:8;8816:54;:78;;;;-1:-1:-1;;;;;;8875:19:0;;;;;;:11;:19;;;;;;;;8874:20;8816:78;:99;;;;-1:-1:-1;8911:4:0;;-1:-1:-1;;;;;8898:17:0;;;8911:4;;8898:17;8816:99;:126;;;;;8932:10;;8919:9;;:23;;8816:126;:144;;;;;8946:14;8816:144;8809:151;8565:403;-1:-1:-1;;;;;;8565:403:0:o;13254:160::-;-1:-1:-1;;;;;13360:19:0;;13335:4;13360:19;;;:11;:19;;;;;;;;13359:20;:47;;;;-1:-1:-1;;;;;;;13384:22:0;;;;;:11;:22;;;;;;;;13383:23;;13254:160;-1:-1:-1;13254:160:0:o;13735:590::-;13821:7;13877:1;13844:30;13856:6;13864:9;13844:11;:30::i;:::-;:34;13841:462;;;13890:17;13910:59;13938:30;13950:6;13958:9;13938:11;:30::i;:::-;13921:11;;13910:23;;:6;;:10;:23::i;:59::-;14025:4;14007:24;;;;:9;:24;;;;;;13890:79;;-1:-1:-1;14007:39:0;;13890:79;14007:28;:39::i;:::-;13998:4;13980:24;;;;:9;:24;;;;;;;:66;;;;14062:42;;-1:-1:-1;;;;;14062:42:0;;;;;;;14094:9;1361:25:1;;1349:2;1334:18;;1215:177;14062:42:0;;;;;;;;14136:1;14118:7;;:20;:64;;;;;14175:7;;14142:30;14154:6;14162:9;14142:11;:30::i;:::-;:40;14118:64;14115:148;;;14184:77;14202:4;6239:42;14224:36;14252:7;;14224:23;14235:11;;14224:6;:10;;:23;;;;:::i;:36::-;14184:9;:77::i;:::-;14280:21;:6;14291:9;14280:10;:21::i;:::-;14273:28;;;;;13841:462;-1:-1:-1;14311:6:0;13735:590;-1:-1:-1;;13735:590:0:o;12812:434::-;12902:16;;;12916:1;12902:16;;;;;;;;12878:21;;12902:16;;;;;;;;;;-1:-1:-1;12902:16:0;12878:40;;12947:4;12929;12934:1;12929:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12929:23:0;;;:7;;;;;;;;;;:23;;;;12973:6;;:13;;;-1:-1:-1;;;12973:13:0;;;;:6;;;;;:11;;:13;;;;;12929:7;;12973:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12963:4;12968:1;12963:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12963:23:0;;;:7;;;;;;;;;:23;13029:6;;12997:53;;13014:4;;13029:6;13038:11;12997:8;:53::i;:::-;13061:6;;:177;;-1:-1:-1;;;13061:177:0;;-1:-1:-1;;;;;13061:6:0;;;;:57;;:177;;13133:11;;13061:6;;13175:4;;13202;;13222:15;;13061:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12867:379;12812:434;:::o;12461:343::-;12574:6;;12542:53;;12559:4;;-1:-1:-1;;;;;12574:6:0;12583:11;12542:8;:53::i;:::-;12606:6;;12747:18;;12606:190;;-1:-1:-1;;;12606:190:0;;12669:4;12606:190;;;13833:34:1;13883:18;;;13876:34;;;12606:6:0;13926:18:1;;;13919:34;;;13969:18;;;13962:34;-1:-1:-1;;;;;12747:18:0;;;14012:19:1;;;14005:44;12780:15:0;14065:19:1;;;14058:35;12606:6:0;;;:22;;12636:9;;13767:19:1;;12606:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12461:343;;:::o;13422:305::-;-1:-1:-1;;;;;13524:13:0;;13501:7;13524:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13541:16:0;;;;;;:5;:16;;;;;;;;13524:33;13521:76;;;13566:11;;:29;;13590:3;13566:15;:29::i;:::-;13559:36;;;;13521:76;13623:4;;-1:-1:-1;;;;;13623:4:0;;;13610:17;;;;13607:38;;-1:-1:-1;13636:7:0;;13629:14;;13607:38;13668:4;;-1:-1:-1;;;;;13668:4:0;;;13658:14;;;;13655:36;;-1:-1:-1;13681:8:0;;13674:15;;13655:36;-1:-1:-1;13708:11:0;;13422: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;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;3772:529::-;3849:6;3857;3865;3918:2;3906:9;3897:7;3893:23;3889:32;3886:52;;;3934:1;3931;3924:12;3886:52;3973:9;3960:23;3992:31;4017:5;3992:31;:::i;:::-;4042:5;-1:-1:-1;4099:2:1;4084:18;;4071:32;4112:33;4071:32;4112:33;:::i;:::-;4164:7;-1:-1:-1;4223:2:1;4208:18;;4195:32;4236:33;4195:32;4236:33;:::i;4306:316::-;4383:6;4391;4399;4452:2;4440:9;4431:7;4427:23;4423:32;4420:52;;;4468:1;4465;4458:12;4420:52;-1:-1:-1;;4491:23:1;;;4561:2;4546:18;;4533:32;;-1:-1:-1;4612:2:1;4597:18;;;4584:32;;4306:316;-1:-1:-1;4306:316:1:o;4627:592::-;4740:6;4748;4756;4764;4772;4780;4788;4841:3;4829:9;4820:7;4816:23;4812:33;4809:53;;;4858:1;4855;4848:12;4809:53;-1:-1:-1;;4881:23:1;;;4951:2;4936:18;;4923:32;;-1:-1:-1;5002:2:1;4987:18;;4974:32;;5053:2;5038:18;;5025:32;;-1:-1:-1;5104:3:1;5089:19;;5076:33;;-1:-1:-1;5156:3:1;5141:19;;5128:33;;-1:-1:-1;5208:3:1;5193:19;5180:33;;-1:-1:-1;4627:592:1;-1:-1:-1;4627:592: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;6615:184::-;6685:6;6738:2;6726:9;6717:7;6713:23;6709:32;6706:52;;;6754:1;6751;6744:12;6706:52;-1:-1:-1;6777:16:1;;6615:184;-1:-1:-1;6615:184:1:o;7083:245::-;7150:6;7203:2;7191:9;7182:7;7178:23;7174:32;7171:52;;;7219:1;7216;7209:12;7171:52;7251:9;7245:16;7270:28;7292:5;7270:28;:::i;9185:128::-;9252:9;;;9273:11;;;9270:37;;;9287:18;;:::i;11594:125::-;11659:9;;;11680:10;;;11677:36;;;11693:18;;:::i;11724:168::-;11797:9;;;11828;;11845:15;;;11839:22;;11825:37;11815:71;;11866:18;;:::i;11897:217::-;11937:1;11963;11953:132;;12007:10;12002:3;11998:20;11995:1;11988:31;12042:4;12039:1;12032:15;12070:4;12067:1;12060:15;11953:132;-1:-1:-1;12099:9:1;;11897:217::o;12251:251::-;12321:6;12374:2;12362:9;12353:7;12349:23;12345:32;12342:52;;;12390:1;12387;12380:12;12342:52;12422:9;12416:16;12441:31;12466:5;12441:31;:::i;12507:980::-;12769:4;12817:3;12806:9;12802:19;12848:6;12837:9;12830:25;12874:2;12912:6;12907:2;12896:9;12892:18;12885:34;12955:3;12950:2;12939:9;12935:18;12928:31;12979:6;13014;13008:13;13045:6;13037;13030:22;13083:3;13072:9;13068:19;13061:26;;13122:2;13114:6;13110:15;13096:29;;13143:1;13153:195;13167:6;13164:1;13161:13;13153:195;;;13232:13;;-1:-1:-1;;;;;13228:39:1;13216:52;;13323:15;;;;13288:12;;;;13264:1;13182:9;13153:195;;;-1:-1:-1;;;;;;;13404:32:1;;;;13399:2;13384:18;;13377:60;-1:-1:-1;;;13468:3:1;13453:19;13446:35;13365:3;12507:980;-1:-1:-1;;;12507:980:1:o;14104:306::-;14192:6;14200;14208;14261:2;14249:9;14240:7;14236:23;14232:32;14229:52;;;14277:1;14274;14267:12;14229:52;14306:9;14300:16;14290:26;;14356:2;14345:9;14341:18;14335:25;14325:35;;14400:2;14389:9;14385:18;14379:25;14369:35;;14104:306;;;;;:::o

Swarm Source

ipfs://2549b1dda70e41b0ffa0624453288b778baa448f72269f4483303f4b3aa99f47

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.