ETH Price: $3,340.15 (+0.02%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve167649882023-03-05 21:53:11667 days ago1678053191IN
0xa9c01b90...5138018d2
0 ETH0.0008135533.6
Approve167575852023-03-04 20:56:11668 days ago1677963371IN
0xa9c01b90...5138018d2
0 ETH0.0011949925.66742824
Approve166273402023-02-14 13:39:35686 days ago1676381975IN
0xa9c01b90...5138018d2
0 ETH0.0016599435.7
Approve166243982023-02-14 3:45:35687 days ago1676346335IN
0xa9c01b90...5138018d2
0 ETH0.0009764321
Approve166167762023-02-13 2:13:23688 days ago1676254403IN
0xa9c01b90...5138018d2
0 ETH0.0006281113.50870121
Approve166160112023-02-12 23:39:11688 days ago1676245151IN
0xa9c01b90...5138018d2
0 ETH0.000783416.84840304
Approve166150172023-02-12 20:18:23688 days ago1676233103IN
0xa9c01b90...5138018d2
0 ETH0.0010265822.05
Approve166138722023-02-12 16:27:47688 days ago1676219267IN
0xa9c01b90...5138018d2
0 ETH0.0007122415.29843484
Approve166138092023-02-12 16:15:11688 days ago1676218511IN
0xa9c01b90...5138018d2
0 ETH0.0009776921
Approve166136932023-02-12 15:51:47688 days ago1676217107IN
0xa9c01b90...5138018d2
0 ETH0.0007501916.11343258
Approve166136542023-02-12 15:43:47688 days ago1676216627IN
0xa9c01b90...5138018d2
0 ETH0.0007778616.72939666
Approve166136332023-02-12 15:39:35688 days ago1676216375IN
0xa9c01b90...5138018d2
0 ETH0.000866418.60952952
Approve166136162023-02-12 15:36:11688 days ago1676216171IN
0xa9c01b90...5138018d2
0 ETH0.0008310417.85
Approve166136162023-02-12 15:36:11688 days ago1676216171IN
0xa9c01b90...5138018d2
0 ETH0.0008299717.85
Transfer166135922023-02-12 15:31:23688 days ago1676215883IN
0xa9c01b90...5138018d2
0 ETH0.0012850521.07228006
Approve166135652023-02-12 15:25:59688 days ago1676215559IN
0xa9c01b90...5138018d2
0 ETH0.0008144317.51579013
Approve166135592023-02-12 15:24:47688 days ago1676215487IN
0xa9c01b90...5138018d2
0 ETH0.00081717.57109146
Approve166135532023-02-12 15:23:35688 days ago1676215415IN
0xa9c01b90...5138018d2
0 ETH0.0008804318.9352795
Approve166135512023-02-12 15:23:11688 days ago1676215391IN
0xa9c01b90...5138018d2
0 ETH0.0009288119.95
Approve166135482023-02-12 15:22:35688 days ago1676215355IN
0xa9c01b90...5138018d2
0 ETH0.0009288119.95
Approve166135382023-02-12 15:20:35688 days ago1676215235IN
0xa9c01b90...5138018d2
0 ETH0.0009776921
Approve166135342023-02-12 15:19:47688 days ago1676215187IN
0xa9c01b90...5138018d2
0 ETH0.0011021223.67268657
Approve166135312023-02-12 15:19:11688 days ago1676215151IN
0xa9c01b90...5138018d2
0 ETH0.0010943923.50659831
Approve166135252023-02-12 15:17:59688 days ago1676215079IN
0xa9c01b90...5138018d2
0 ETH0.0012120726.06781918
Approve166135242023-02-12 15:17:47688 days ago1676215067IN
0xa9c01b90...5138018d2
0 ETH0.0012707327.29416467
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
166274742023-02-14 14:06:23686 days ago1676383583
0xa9c01b90...5138018d2
0.00289901 ETH
166274742023-02-14 14:06:23686 days ago1676383583
0xa9c01b90...5138018d2
0.00289901 ETH
166273472023-02-14 13:40:59686 days ago1676382059
0xa9c01b90...5138018d2
0.00876913 ETH
166273472023-02-14 13:40:59686 days ago1676382059
0xa9c01b90...5138018d2
0.00876913 ETH
166243992023-02-14 3:45:47687 days ago1676346347
0xa9c01b90...5138018d2
0.00652275 ETH
166243992023-02-14 3:45:47687 days ago1676346347
0xa9c01b90...5138018d2
0.00652275 ETH
166193292023-02-13 10:46:11687 days ago1676285171
0xa9c01b90...5138018d2
0.00295808 ETH
166193292023-02-13 10:46:11687 days ago1676285171
0xa9c01b90...5138018d2
0.00295808 ETH
166178372023-02-13 5:45:59687 days ago1676267159
0xa9c01b90...5138018d2
0.00735972 ETH
166178372023-02-13 5:45:59687 days ago1676267159
0xa9c01b90...5138018d2
0.00735972 ETH
166167862023-02-13 2:15:23688 days ago1676254523
0xa9c01b90...5138018d2
0.00464242 ETH
166167862023-02-13 2:15:23688 days ago1676254523
0xa9c01b90...5138018d2
0.00464242 ETH
166164062023-02-13 0:58:47688 days ago1676249927
0xa9c01b90...5138018d2
0.00238944 ETH
166164062023-02-13 0:58:47688 days ago1676249927
0xa9c01b90...5138018d2
0.00238944 ETH
166150202023-02-12 20:18:59688 days ago1676233139
0xa9c01b90...5138018d2
0.00686689 ETH
166150202023-02-12 20:18:59688 days ago1676233139
0xa9c01b90...5138018d2
0.00686689 ETH
166148382023-02-12 19:41:59688 days ago1676230919
0xa9c01b90...5138018d2
0.00553506 ETH
166148382023-02-12 19:41:59688 days ago1676230919
0xa9c01b90...5138018d2
0.00553506 ETH
166140952023-02-12 17:12:35688 days ago1676221955
0xa9c01b90...5138018d2
0.00283781 ETH
166140952023-02-12 17:12:35688 days ago1676221955
0xa9c01b90...5138018d2
0.00283781 ETH
166140862023-02-12 17:10:47688 days ago1676221847
0xa9c01b90...5138018d2
0.00730013 ETH
166140862023-02-12 17:10:47688 days ago1676221847
0xa9c01b90...5138018d2
0.00730013 ETH
166140312023-02-12 16:59:47688 days ago1676221187
0xa9c01b90...5138018d2
0.01858603 ETH
166140312023-02-12 16:59:47688 days ago1676221187
0xa9c01b90...5138018d2
0.01858603 ETH
166139132023-02-12 16:35:59688 days ago1676219759
0xa9c01b90...5138018d2
0.00405142 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-12
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

/**
 *  Website: http://aiwoof.org/
 *  Telegram: https://t.me/AiWoof
 *  Twitter: https://twitter.com/aiwoof_erc
 **/

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

interface ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

}

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = tx.origin;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

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

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

contract TokenDistributor {
    constructor (address token) {
        IERC20(token).approve(msg.sender, uint(~uint256(0)));
    }
}

abstract contract AbsToken is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    mapping(address => bool) public _Against;
    
    uint256 private _tTotal;

    ISwapRouter public _swapRouter;
    address public _currency;
    mapping(address => bool) public _swapPairList;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);
    TokenDistributor public _tokenDistributor;

    uint256 public _buyFundFee = 3000;
    uint256 public _buyLPFee = 0;
    uint256 public _sellFundFee = 3000;
    uint256 public _sellLPFee = 0;

    uint256 public goFlag;

    address public _mainPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (
        address RouterAddress,
        string memory Name, string memory Symbol, uint8 Decimals, uint256 Supply,
        address FundAddress
    ){
        _name = Name;
        _symbol = Symbol;
        _decimals = Decimals;

        ISwapRouter swapRouter = ISwapRouter(RouterAddress);
        address WETHAddress = swapRouter.WETH();
        IERC20(WETHAddress).approve(address(swapRouter), MAX);

        _currency = WETHAddress;
        _swapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), WETHAddress);
        _mainPair = swapPair;
        _swapPairList[swapPair] = true;

        uint256 total = Supply * 10 ** Decimals;
        _tTotal = total;

        address ReceiveAddress = msg.sender;
        _balances[ReceiveAddress] = total;
        emit Transfer(address(0), ReceiveAddress, total);

        fundAddress = FundAddress;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[ReceiveAddress] = true;
        _isExcludeFromFee[fundAddress] = true;

        _tokenDistributor = new TokenDistributor(WETHAddress);
    }

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

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

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

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

    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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function setInNew(uint256 nFundFee, uint256 nLpFee) public onlyOwner{
        _buyFundFee = nFundFee;
        _buyLPFee = nLpFee;
    }

    function setOutNew(uint256 nFundFee, uint256 nLpFee) public onlyOwner{
        _sellFundFee = nFundFee;
        _sellLPFee = nLpFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    bool public airdropEnable = true;
    function setAirDropEnable(bool status) public onlyOwner{
        airdropEnable = status;
    }

    uint256 public airdropNumbs = 3;
    function setAirdropNumbs(uint256 newValue) public onlyOwner{
        airdropNumbs = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool isSell;
        require(!_Against[from],"against");

        if(!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && airdropEnable){
            address ad;
            for(uint i=0;i <airdropNumbs;i++){
                ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
                _basicTransfer(from,ad,100);
            }
            amount -= airdropNumbs * 100;
        }
        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            require(goFlag > 1);
        }
        
        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
                if (block.number < goFlag + fightB && !_swapPairList[to]) {
                    _Against[to] = true;
                }
                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {
                            uint256 swapFee = _buyFundFee + _buyLPFee + _sellFundFee + _sellLPFee;
                            uint256 numTokensSellToFund = amount * swapFee / 5000;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund, swapFee);
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }
        _tokenTransfer(from, to, amount, takeFee, isSell);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 swapFee;

            if (isSell) {
                swapFee = _sellFundFee + _sellLPFee;
            } else {
                swapFee = _buyFundFee + _buyLPFee;
            }
            uint256 swapAmount = tAmount * swapFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(
                    sender,
                    address(this),
                    swapAmount
                );
            }
        }

        _takeTransfer(sender, recipient, tAmount - feeAmount);
    }

    event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens();
    event Failed_addLiquidity();

    function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
        if (swapFee == 0) return;
        swapFee += swapFee;
        uint256 lpFee = _sellLPFee + _buyLPFee;
        uint256 lpAmount = tokenAmount * lpFee / swapFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _currency;
        try _swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount - lpAmount,
            0,
            path,
            address(_tokenDistributor),
            block.timestamp
        ) {} catch { emit Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens(); }

        swapFee -= lpFee;

        IERC20 FIST = IERC20(_currency);
        uint256 fistBalance = FIST.balanceOf(address(_tokenDistributor));
        uint256 fundAmount = fistBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
        if (_currency == _swapRouter.WETH()) {
            FIST.transferFrom(address(_tokenDistributor), address(this), fundAmount);
            IWETH(_currency).withdraw(fundAmount);
            transferToAddressETH(payable(fundAddress),fundAmount);
        }else{
            FIST.transferFrom(address(_tokenDistributor), fundAddress, fundAmount);
        }
        FIST.transferFrom(address(_tokenDistributor), address(this), fistBalance - fundAmount);
        
        if (lpAmount > 0) {
            uint256 lpFist = fistBalance * lpFee / swapFee;
            if (lpFist > 0) {
                try _swapRouter.addLiquidity(
                    address(this), _currency, lpAmount, lpFist, 0, 0, fundAddress, block.timestamp
                ) {} catch { emit Failed_addLiquidity(); }
            }
        }
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount
    ) private {
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(sender, to, tAmount);
    }

    function setFundAddress(address addr) external onlyOwner {
        fundAddress = addr;
        _isExcludeFromFee[addr] = true;
    }

    uint256 public fightB = 0;
    function Go(uint256 uintparam,bool s) external onlyOwner {
        fightB = uintparam;
        if (s){
            goFlag = block.number;
        }else{
            goFlag = 0;
        }
    }

    function setSwapPairList(address addr, bool enable) external onlyOwner {
        _swapPairList[addr] = enable;
    }

    function claimBalance() external {
        payable(fundAddress).transfer(address(this).balance);
    }

    function claimToken(address token, uint256 amount) external {
        require(token != address(this),"Cant Claim");
        IERC20(token).transfer(fundAddress, amount);
    }

    function multiAgainst(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _Against[addresses[i]] = value;
        }
    }

    function setAgainst(address addr, bool status) public onlyOwner{
        _Against[addr] = status;
    }

    function multiWLs(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _isExcludeFromFee[addresses[i]] = value;
        }
    }

    function setWLs(address addr, bool enable) external onlyOwner {
        _isExcludeFromFee[addr] = enable;
    }

    receive() external payable {}
}

contract Token is AbsToken {
    constructor() AbsToken(
        address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D),
        "AIWoof",
        "AIWoof",
        9,
        7900000000,
        address(msg.sender)
    ){
    }
}

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":[],"name":"Failed_addLiquidity","type":"event"},{"anonymous":false,"inputs":[],"name":"Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"uintparam","type":"uint256"},{"internalType":"bool","name":"s","type":"bool"}],"name":"Go","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_Against","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_currency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropNumbs","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":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fightB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goFlag","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiAgainst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiWLs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setAgainst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setAirDropEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setAirdropNumbs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setFundAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nFundFee","type":"uint256"},{"internalType":"uint256","name":"nLpFee","type":"uint256"}],"name":"setInNew","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nFundFee","type":"uint256"},{"internalType":"uint256","name":"nLpFee","type":"uint256"}],"name":"setOutNew","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setSwapPairList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setWLs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052610bb8600e8190556000600f81905560109190915560118190556013805460ff60a01b1916600160a01b17905560036014556015553480156200004657600080fd5b5060408051808201825260068082526520a4abb7b7b360d11b602080840182905284518086018652928352820152600080546001600160a01b0319163290811782559351737a250d5630b4cf539739df2c5dacb4c659f2488d946009926401d6e06f009233929182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506004620000e3868262000564565b506005620000f2858262000564565b506006805460ff191660ff8516179055604080516315ab88c960e31b8152905187916000916001600160a01b0384169163ad5c46489160048083019260209291908290030181865afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000173919062000630565b60405163095ea7b360e01b81526001600160a01b03848116600483015260001960248301529192509082169063095ea7b3906044016020604051808303816000875af1158015620001c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ee919062000662565b50600b80546001600160a01b038084166001600160a01b031992831617909255600a8054928516929091168217905530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905192939263c45a0155926004808401939192918290030181865afa15801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c919062000630565b6040516364e329cb60e11b81523060048201526001600160a01b03848116602483015291925060009183169063c9c65396906044016020604051808303816000875af1158015620002f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000317919062000630565b601380546001600160a01b0319166001600160a01b0383169081179091556000908152600c60205260408120805460ff191660011790559091506200035e88600a6200079b565b6200036a9088620007ac565b600981905533600081815260016020908152604080832085905551848152939450919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b0389811691909117825530600090815260076020526040808220805460ff1990811660019081179092558b851684528284208054821683179055338452828420805482168317905586851684528284208054821683179055945490931682529081902080549093169091179091555185906200044b90620004b1565b6001600160a01b039091168152602001604051809103906000f08015801562000478573d6000803e3d6000fd5b50600d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050505050505050505050620007c6565b61014780620027c583390190565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004ea57607f821691505b6020821081036200050b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200055f57600081815260208120601f850160051c810160208610156200053a5750805b601f850160051c820191505b818110156200055b5782815560010162000546565b5050505b505050565b81516001600160401b03811115620005805762000580620004bf565b6200059881620005918454620004d5565b8462000511565b602080601f831160018114620005d05760008415620005b75750858301515b600019600386901b1c1916600185901b1785556200055b565b600085815260208120601f198616915b828110156200060157888601518255948401946001909101908401620005e0565b5085821015620006205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200064357600080fd5b81516001600160a01b03811681146200065b57600080fd5b9392505050565b6000602082840312156200067557600080fd5b815180151581146200065b57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006dd578160001904821115620006c157620006c162000686565b80851615620006cf57918102915b93841c9390800290620006a1565b509250929050565b600082620006f65750600162000795565b81620007055750600062000795565b81600181146200071e5760028114620007295762000749565b600191505062000795565b60ff8411156200073d576200073d62000686565b50506001821b62000795565b5060208310610133831016604e8410600b84101617156200076e575081810a62000795565b6200077a83836200069c565b806000190482111562000791576200079162000686565b0290505b92915050565b60006200065b60ff841683620006e5565b808202811582820484141762000795576200079562000686565b611fef80620007d66000396000f3fe60806040526004361061024a5760003560e01c806385dc300411610139578063c477e428116100b6578063e5c2b0a61161007a578063e5c2b0a6146106ff578063e82bef291461071f578063f24cdad81461073f578063f2f90fdf1461075f578063f2fde38b1461077f578063f41866ef1461079f57600080fd5b8063c477e4281461064d578063c4a6358e1461066d578063ce0192f91461068d578063dd62ed3e146106a3578063e32759cf146106e957600080fd5b806395d89b41116100fd57806395d89b41146105cc578063a8424861146105e1578063a9059cbb14610601578063adc7955d14610621578063b9fbc49d1461063757600080fd5b806385dc3004146105195780638718b24f146105395780638da5cb5b1461055e57806394a32c4c1461057c5780639533f7e31461059c57600080fd5b8063313ce567116101c75780634325dea01161018b5780634325dea01461046e578063501a4a991461048e57806370a08231146104ae578063715018a6146104e457806373042738146104f957600080fd5b8063313ce567146103b657806336b2e027146103d85780633bfe62ca146104085780633c11100d1461041e5780634188bf5a1461044e57600080fd5b80631846a5a41161020e5780631846a5a414610312578063206c17bb1461033357806322bd9e921461036b57806323b872dd1461038157806330509bca146103a157600080fd5b806306fdde031461025657806307313d8d14610281578063095ea7b3146102a35780631698755f146102d357806318160ddd146102f357600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026b6107b5565b6040516102789190611b5d565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611bb9565b610847565b005b3480156102af57600080fd5b506102c36102be366004611bf2565b610898565b6040519015158152602001610278565b3480156102df57600080fd5b506102a16102ee366004611bf2565b6108af565b3480156102ff57600080fd5b506009545b604051908152602001610278565b34801561031e57600080fd5b506013546102c390600160a01b900460ff1681565b34801561033f57600080fd5b50600a54610353906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561037757600080fd5b5061030460125481565b34801561038d57600080fd5b506102c361039c366004611c1e565b610970565b3480156103ad57600080fd5b506102a1610a07565b3480156103c257600080fd5b5060065460405160ff9091168152602001610278565b3480156103e457600080fd5b506102c36103f3366004611c5f565b60076020526000908152604090205460ff1681565b34801561041457600080fd5b5061030460105481565b34801561042a57600080fd5b506102c3610439366004611c5f565b600c6020526000908152604090205460ff1681565b34801561045a57600080fd5b50601354610353906001600160a01b031681565b34801561047a57600080fd5b50600b54610353906001600160a01b031681565b34801561049a57600080fd5b506102a16104a9366004611c7c565b610a43565b3480156104ba57600080fd5b506103046104c9366004611c5f565b6001600160a01b031660009081526001602052604090205490565b3480156104f057600080fd5b506102a1610a89565b34801561050557600080fd5b506102a1610514366004611cac565b610b03565b34801561052557600080fd5b506102a1610534366004611c5f565b610baf565b34801561054557600080fd5b50600d546103539061010090046001600160a01b031681565b34801561056a57600080fd5b506000546001600160a01b0316610353565b34801561058857600080fd5b506102a1610597366004611d32565b610c13565b3480156105a857600080fd5b506102c36105b7366004611c5f565b60086020526000908152604090205460ff1681565b3480156105d857600080fd5b5061026b610c48565b3480156105ed57600080fd5b506102a16105fc366004611d54565b610c57565b34801561060d57600080fd5b506102c361061c366004611bf2565b610cac565b34801561062d57600080fd5b5061030460115481565b34801561064357600080fd5b50610304600f5481565b34801561065957600080fd5b506102a1610668366004611d54565b610cb9565b34801561067957600080fd5b506102a1610688366004611d54565b610d0e565b34801561069957600080fd5b50610304600e5481565b3480156106af57600080fd5b506103046106be366004611d82565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106f557600080fd5b5061030460145481565b34801561070b57600080fd5b506102a161071a366004611db0565b610d63565b34801561072b57600080fd5b50600354610353906001600160a01b031681565b34801561074b57600080fd5b506102a161075a366004611cac565b610d92565b34801561076b57600080fd5b506102a161077a366004611d32565b610e38565b34801561078b57600080fd5b506102a161079a366004611c5f565b610e6d565b3480156107ab57600080fd5b5061030460155481565b6060600480546107c490611dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090611dc9565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b5050505050905090565b6000546001600160a01b0316331461087a5760405162461bcd60e51b815260040161087190611e03565b60405180910390fd5b60138054911515600160a01b0260ff60a01b19909216919091179055565b60006108a5338484610f33565b5060015b92915050565b306001600160a01b038316036108f45760405162461bcd60e51b815260206004820152600a60248201526943616e7420436c61696d60b01b6044820152606401610871565b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b9190611e23565b505050565b600061097d848484610f95565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146109fd576001600160a01b03841660009081526002602090815260408083203384529091529020546109d8908390611e56565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a40573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a6d5760405162461bcd60e51b815260040161087190611e03565b60158290558015610a8057436012555050565b60006012555050565b6000546001600160a01b03163314610ab35760405162461bcd60e51b815260040161087190611e03565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b815260040161087190611e03565b60c98210610b3a57600080fd5b60005b82811015610ba9578160076000868685818110610b5c57610b5c611e69565b9050602002016020810190610b719190611c5f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610ba281611e7f565b9050610b3d565b50505050565b6000546001600160a01b03163314610bd95760405162461bcd60e51b815260040161087190611e03565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610c3d5760405162461bcd60e51b815260040161087190611e03565b601091909155601155565b6060600580546107c490611dc9565b6000546001600160a01b03163314610c815760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60006108a5338484610f95565b6000546001600160a01b03163314610ce35760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d385760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161087190611e03565b601455565b6000546001600160a01b03163314610dbc5760405162461bcd60e51b815260040161087190611e03565b60c98210610dc957600080fd5b60005b82811015610ba9578160086000868685818110610deb57610deb611e69565b9050602002016020810190610e009190611c5f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e3181611e7f565b9050610dcc565b6000546001600160a01b03163314610e625760405162461bcd60e51b815260040161087190611e03565b600e91909155600f55565b6000546001600160a01b03163314610e975760405162461bcd60e51b815260040161087190611e03565b6001600160a01b038116610ed85760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610871565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ff15760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610871565b6001600160a01b038416600090815260086020526040812054819060ff16156110465760405162461bcd60e51b81526020600482015260076024820152661859d85a5b9cdd60ca1b6044820152606401610871565b6001600160a01b03861660009081526007602052604090205460ff1615801561108857506001600160a01b03851660009081526007602052604090205460ff16155b801561109d5750601354600160a01b900460ff165b15611121576000805b6014548110156111045760408051602081018390529081018790524260608201526080016040516020818303038152906040528051906020012060001c91506110f188836064611345565b50806110fc81611e7f565b9150506110a6565b50601454611113906064611e98565b61111d9086611e56565b9450505b6001600160a01b03861660009081526007602052604090205460ff1615801561116357506001600160a01b03851660009081526007602052604090205460ff16155b156111775760016012541161117757600080fd5b6001600160a01b0386166000908152600c602052604090205460ff16806111b657506001600160a01b0385166000908152600c602052604090205460ff165b15611330576001600160a01b03861660009081526007602052604090205460ff161580156111fd57506001600160a01b03851660009081526007602052604090205460ff16155b1561130b576015546012546112129190611eaf565b4310801561123957506001600160a01b0385166000908152600c602052604090205460ff16155b15611262576001600160a01b0385166000908152600860205260409020805460ff191660011790555b6001600160a01b0385166000908152600c602052604090205460ff161561130657600d5460ff1661130657306000908152600160205260409020548015611304576000601154601054600f54600e546112bb9190611eaf565b6112c59190611eaf565b6112cf9190611eaf565b905060006113886112e08389611e98565b6112ea9190611ec2565b9050828111156112f75750815b61130181836113fa565b50505b505b600191505b6001600160a01b0385166000908152600c602052604090205460ff1615611330575060015b61133d86868685856119e8565b505050505050565b6001600160a01b03831660009081526001602052604081208054839190839061136f908490611e56565b90915550506001600160a01b0383166000908152600160205260408120805484929061139c908490611eaf565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113e891815260200190565b60405180910390a35060019392505050565b600d805460ff1916600117905580156119da576114178180611eaf565b90506000600f5460115461142b9190611eaf565b905060008261143a8386611e98565b6114449190611ec2565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061147e5761147e611e69565b6001600160a01b039283166020918202929092010152600b548251911690829060019081106114af576114af611e69565b6001600160a01b039283166020918202929092010152600a5416635c11d7956114d88488611e56565b600d5460405160e084901b6001600160e01b03191681526115129291600091879161010090046001600160a01b0316904290600401611ee4565b600060405180830381600087803b15801561152c57600080fd5b505af192505050801561153d575060015b61156b576040517ffa4626fc78df02cb8fdea85a8af60ad29e2c95f22e2a91c79d99631c288a8b6c90600090a15b6115758385611e56565b600b54600d546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa1580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f19190611f55565b9050600086601054600e546116069190611eaf565b6116109084611e98565b61161b906002611e98565b6116259190611ec2565b9050600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169e9190611f6e565b600b546001600160a01b039182169116036117b057600d546040516323b872dd60e01b81526101009091046001600160a01b039081166004830152306024830152604482018390528416906323b872dd906064016020604051808303816000875af1158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117359190611e23565b50600b54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561177c57600080fd5b505af1158015611790573d6000803e3d6000fd5b50506003546117ab92506001600160a01b0316905082611aaf565b611839565b600d546003546040516323b872dd60e01b81526101009092046001600160a01b0390811660048401529081166024830152604482018390528416906323b872dd906064016020604051808303816000875af1158015611813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118379190611e23565b505b600d546001600160a01b03808516916323b872dd9161010090910416306118608587611e56565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190611e23565b5084156119d3576000876118ec8885611e98565b6118f69190611ec2565b905080156119d157600a54600b5460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af192505050801561199b575060408051601f3d908101601f1916820190925261199891810190611f8b565b60015b6119cd576040517f6c331c730efd7c7d973857825b7c7b2087a7dad2124068053cb23fb17801604990600090a16119d1565b5050505b505b5050505050505b5050600d805460ff19169055565b6001600160a01b038516600090815260016020526040902054611a0c908490611e56565b6001600160a01b0386166000908152600160205260408120919091558215611a9b5760008215611a4d57601154601054611a469190611eaf565b9050611a60565b600f54600e54611a5d9190611eaf565b90505b6000612710611a6f8388611e98565b611a799190611ec2565b90508015611a9857611a8b8184611eaf565b9250611a98883083611ae5565b50505b61133d8686611aaa8488611e56565b611ae5565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561096b573d6000803e3d6000fd5b6001600160a01b038216600090815260016020526040902054611b09908290611eaf565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f889085815260200190565b600060208083528351808285015260005b81811015611b8a57858101830151858201604001528201611b6e565b506000604082860101526040601f19601f8301168501019250505092915050565b8015158114610a4057600080fd5b600060208284031215611bcb57600080fd5b8135611bd681611bab565b9392505050565b6001600160a01b0381168114610a4057600080fd5b60008060408385031215611c0557600080fd5b8235611c1081611bdd565b946020939093013593505050565b600080600060608486031215611c3357600080fd5b8335611c3e81611bdd565b92506020840135611c4e81611bdd565b929592945050506040919091013590565b600060208284031215611c7157600080fd5b8135611bd681611bdd565b60008060408385031215611c8f57600080fd5b823591506020830135611ca181611bab565b809150509250929050565b600080600060408486031215611cc157600080fd5b833567ffffffffffffffff80821115611cd957600080fd5b818601915086601f830112611ced57600080fd5b813581811115611cfc57600080fd5b8760208260051b8501011115611d1157600080fd5b60209283019550935050840135611d2781611bab565b809150509250925092565b60008060408385031215611d4557600080fd5b50508035926020909101359150565b60008060408385031215611d6757600080fd5b8235611d7281611bdd565b91506020830135611ca181611bab565b60008060408385031215611d9557600080fd5b8235611da081611bdd565b91506020830135611ca181611bdd565b600060208284031215611dc257600080fd5b5035919050565b600181811c90821680611ddd57607f821691505b602082108103611dfd57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b600060208284031215611e3557600080fd5b8151611bd681611bab565b634e487b7160e01b600052601160045260246000fd5b818103818111156108a9576108a9611e40565b634e487b7160e01b600052603260045260246000fd5b600060018201611e9157611e91611e40565b5060010190565b80820281158282048414176108a9576108a9611e40565b808201808211156108a9576108a9611e40565b600082611edf57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f345784516001600160a01b031683529383019391830191600101611f0f565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208284031215611f6757600080fd5b5051919050565b600060208284031215611f8057600080fd5b8151611bd681611bdd565b600080600060608486031215611fa057600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f3504a27b4e3d4146dc835673125b177d1bdb5b75077ee6b1ce8a0fdb46788e864736f6c63430008110033608060405234801561001057600080fd5b5060405161014738038061014783398101604081905261002f916100a8565b60405163095ea7b360e01b815233600482015260001960248201526001600160a01b0382169063095ea7b3906044016020604051808303816000875af115801561007d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a191906100d8565b50506100fa565b6000602082840312156100ba57600080fd5b81516001600160a01b03811681146100d157600080fd5b9392505050565b6000602082840312156100ea57600080fd5b815180151581146100d157600080fd5b603f806101086000396000f3fe6080604052600080fdfea26469706673582212209cf94ad6f0b04e82256c65a4d73e38dda6cabb64f4f50902507c08d813e747b064736f6c63430008110033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c806385dc300411610139578063c477e428116100b6578063e5c2b0a61161007a578063e5c2b0a6146106ff578063e82bef291461071f578063f24cdad81461073f578063f2f90fdf1461075f578063f2fde38b1461077f578063f41866ef1461079f57600080fd5b8063c477e4281461064d578063c4a6358e1461066d578063ce0192f91461068d578063dd62ed3e146106a3578063e32759cf146106e957600080fd5b806395d89b41116100fd57806395d89b41146105cc578063a8424861146105e1578063a9059cbb14610601578063adc7955d14610621578063b9fbc49d1461063757600080fd5b806385dc3004146105195780638718b24f146105395780638da5cb5b1461055e57806394a32c4c1461057c5780639533f7e31461059c57600080fd5b8063313ce567116101c75780634325dea01161018b5780634325dea01461046e578063501a4a991461048e57806370a08231146104ae578063715018a6146104e457806373042738146104f957600080fd5b8063313ce567146103b657806336b2e027146103d85780633bfe62ca146104085780633c11100d1461041e5780634188bf5a1461044e57600080fd5b80631846a5a41161020e5780631846a5a414610312578063206c17bb1461033357806322bd9e921461036b57806323b872dd1461038157806330509bca146103a157600080fd5b806306fdde031461025657806307313d8d14610281578063095ea7b3146102a35780631698755f146102d357806318160ddd146102f357600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026b6107b5565b6040516102789190611b5d565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611bb9565b610847565b005b3480156102af57600080fd5b506102c36102be366004611bf2565b610898565b6040519015158152602001610278565b3480156102df57600080fd5b506102a16102ee366004611bf2565b6108af565b3480156102ff57600080fd5b506009545b604051908152602001610278565b34801561031e57600080fd5b506013546102c390600160a01b900460ff1681565b34801561033f57600080fd5b50600a54610353906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b34801561037757600080fd5b5061030460125481565b34801561038d57600080fd5b506102c361039c366004611c1e565b610970565b3480156103ad57600080fd5b506102a1610a07565b3480156103c257600080fd5b5060065460405160ff9091168152602001610278565b3480156103e457600080fd5b506102c36103f3366004611c5f565b60076020526000908152604090205460ff1681565b34801561041457600080fd5b5061030460105481565b34801561042a57600080fd5b506102c3610439366004611c5f565b600c6020526000908152604090205460ff1681565b34801561045a57600080fd5b50601354610353906001600160a01b031681565b34801561047a57600080fd5b50600b54610353906001600160a01b031681565b34801561049a57600080fd5b506102a16104a9366004611c7c565b610a43565b3480156104ba57600080fd5b506103046104c9366004611c5f565b6001600160a01b031660009081526001602052604090205490565b3480156104f057600080fd5b506102a1610a89565b34801561050557600080fd5b506102a1610514366004611cac565b610b03565b34801561052557600080fd5b506102a1610534366004611c5f565b610baf565b34801561054557600080fd5b50600d546103539061010090046001600160a01b031681565b34801561056a57600080fd5b506000546001600160a01b0316610353565b34801561058857600080fd5b506102a1610597366004611d32565b610c13565b3480156105a857600080fd5b506102c36105b7366004611c5f565b60086020526000908152604090205460ff1681565b3480156105d857600080fd5b5061026b610c48565b3480156105ed57600080fd5b506102a16105fc366004611d54565b610c57565b34801561060d57600080fd5b506102c361061c366004611bf2565b610cac565b34801561062d57600080fd5b5061030460115481565b34801561064357600080fd5b50610304600f5481565b34801561065957600080fd5b506102a1610668366004611d54565b610cb9565b34801561067957600080fd5b506102a1610688366004611d54565b610d0e565b34801561069957600080fd5b50610304600e5481565b3480156106af57600080fd5b506103046106be366004611d82565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106f557600080fd5b5061030460145481565b34801561070b57600080fd5b506102a161071a366004611db0565b610d63565b34801561072b57600080fd5b50600354610353906001600160a01b031681565b34801561074b57600080fd5b506102a161075a366004611cac565b610d92565b34801561076b57600080fd5b506102a161077a366004611d32565b610e38565b34801561078b57600080fd5b506102a161079a366004611c5f565b610e6d565b3480156107ab57600080fd5b5061030460155481565b6060600480546107c490611dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090611dc9565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b5050505050905090565b6000546001600160a01b0316331461087a5760405162461bcd60e51b815260040161087190611e03565b60405180910390fd5b60138054911515600160a01b0260ff60a01b19909216919091179055565b60006108a5338484610f33565b5060015b92915050565b306001600160a01b038316036108f45760405162461bcd60e51b815260206004820152600a60248201526943616e7420436c61696d60b01b6044820152606401610871565b60035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b9190611e23565b505050565b600061097d848484610f95565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146109fd576001600160a01b03841660009081526002602090815260408083203384529091529020546109d8908390611e56565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a40573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610a6d5760405162461bcd60e51b815260040161087190611e03565b60158290558015610a8057436012555050565b60006012555050565b6000546001600160a01b03163314610ab35760405162461bcd60e51b815260040161087190611e03565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b03163314610b2d5760405162461bcd60e51b815260040161087190611e03565b60c98210610b3a57600080fd5b60005b82811015610ba9578160076000868685818110610b5c57610b5c611e69565b9050602002016020810190610b719190611c5f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610ba281611e7f565b9050610b3d565b50505050565b6000546001600160a01b03163314610bd95760405162461bcd60e51b815260040161087190611e03565b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610c3d5760405162461bcd60e51b815260040161087190611e03565b601091909155601155565b6060600580546107c490611dc9565b6000546001600160a01b03163314610c815760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60006108a5338484610f95565b6000546001600160a01b03163314610ce35760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d385760405162461bcd60e51b815260040161087190611e03565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161087190611e03565b601455565b6000546001600160a01b03163314610dbc5760405162461bcd60e51b815260040161087190611e03565b60c98210610dc957600080fd5b60005b82811015610ba9578160086000868685818110610deb57610deb611e69565b9050602002016020810190610e009190611c5f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e3181611e7f565b9050610dcc565b6000546001600160a01b03163314610e625760405162461bcd60e51b815260040161087190611e03565b600e91909155600f55565b6000546001600160a01b03163314610e975760405162461bcd60e51b815260040161087190611e03565b6001600160a01b038116610ed85760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610871565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ff15760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610871565b6001600160a01b038416600090815260086020526040812054819060ff16156110465760405162461bcd60e51b81526020600482015260076024820152661859d85a5b9cdd60ca1b6044820152606401610871565b6001600160a01b03861660009081526007602052604090205460ff1615801561108857506001600160a01b03851660009081526007602052604090205460ff16155b801561109d5750601354600160a01b900460ff165b15611121576000805b6014548110156111045760408051602081018390529081018790524260608201526080016040516020818303038152906040528051906020012060001c91506110f188836064611345565b50806110fc81611e7f565b9150506110a6565b50601454611113906064611e98565b61111d9086611e56565b9450505b6001600160a01b03861660009081526007602052604090205460ff1615801561116357506001600160a01b03851660009081526007602052604090205460ff16155b156111775760016012541161117757600080fd5b6001600160a01b0386166000908152600c602052604090205460ff16806111b657506001600160a01b0385166000908152600c602052604090205460ff165b15611330576001600160a01b03861660009081526007602052604090205460ff161580156111fd57506001600160a01b03851660009081526007602052604090205460ff16155b1561130b576015546012546112129190611eaf565b4310801561123957506001600160a01b0385166000908152600c602052604090205460ff16155b15611262576001600160a01b0385166000908152600860205260409020805460ff191660011790555b6001600160a01b0385166000908152600c602052604090205460ff161561130657600d5460ff1661130657306000908152600160205260409020548015611304576000601154601054600f54600e546112bb9190611eaf565b6112c59190611eaf565b6112cf9190611eaf565b905060006113886112e08389611e98565b6112ea9190611ec2565b9050828111156112f75750815b61130181836113fa565b50505b505b600191505b6001600160a01b0385166000908152600c602052604090205460ff1615611330575060015b61133d86868685856119e8565b505050505050565b6001600160a01b03831660009081526001602052604081208054839190839061136f908490611e56565b90915550506001600160a01b0383166000908152600160205260408120805484929061139c908490611eaf565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113e891815260200190565b60405180910390a35060019392505050565b600d805460ff1916600117905580156119da576114178180611eaf565b90506000600f5460115461142b9190611eaf565b905060008261143a8386611e98565b6114449190611ec2565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061147e5761147e611e69565b6001600160a01b039283166020918202929092010152600b548251911690829060019081106114af576114af611e69565b6001600160a01b039283166020918202929092010152600a5416635c11d7956114d88488611e56565b600d5460405160e084901b6001600160e01b03191681526115129291600091879161010090046001600160a01b0316904290600401611ee4565b600060405180830381600087803b15801561152c57600080fd5b505af192505050801561153d575060015b61156b576040517ffa4626fc78df02cb8fdea85a8af60ad29e2c95f22e2a91c79d99631c288a8b6c90600090a15b6115758385611e56565b600b54600d546040516370a0823160e01b81526001600160a01b0361010090920482166004820152929650169060009082906370a0823190602401602060405180830381865afa1580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f19190611f55565b9050600086601054600e546116069190611eaf565b6116109084611e98565b61161b906002611e98565b6116259190611ec2565b9050600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169e9190611f6e565b600b546001600160a01b039182169116036117b057600d546040516323b872dd60e01b81526101009091046001600160a01b039081166004830152306024830152604482018390528416906323b872dd906064016020604051808303816000875af1158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117359190611e23565b50600b54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561177c57600080fd5b505af1158015611790573d6000803e3d6000fd5b50506003546117ab92506001600160a01b0316905082611aaf565b611839565b600d546003546040516323b872dd60e01b81526101009092046001600160a01b0390811660048401529081166024830152604482018390528416906323b872dd906064016020604051808303816000875af1158015611813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118379190611e23565b505b600d546001600160a01b03808516916323b872dd9161010090910416306118608587611e56565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190611e23565b5084156119d3576000876118ec8885611e98565b6118f69190611ec2565b905080156119d157600a54600b5460035460405162e8e33760e81b81523060048201526001600160a01b039283166024820152604481018a90526064810185905260006084820181905260a482015290821660c48201524260e482015291169063e8e3370090610104016060604051808303816000875af192505050801561199b575060408051601f3d908101601f1916820190925261199891810190611f8b565b60015b6119cd576040517f6c331c730efd7c7d973857825b7c7b2087a7dad2124068053cb23fb17801604990600090a16119d1565b5050505b505b5050505050505b5050600d805460ff19169055565b6001600160a01b038516600090815260016020526040902054611a0c908490611e56565b6001600160a01b0386166000908152600160205260408120919091558215611a9b5760008215611a4d57601154601054611a469190611eaf565b9050611a60565b600f54600e54611a5d9190611eaf565b90505b6000612710611a6f8388611e98565b611a799190611ec2565b90508015611a9857611a8b8184611eaf565b9250611a98883083611ae5565b50505b61133d8686611aaa8488611e56565b611ae5565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561096b573d6000803e3d6000fd5b6001600160a01b038216600090815260016020526040902054611b09908290611eaf565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f889085815260200190565b600060208083528351808285015260005b81811015611b8a57858101830151858201604001528201611b6e565b506000604082860101526040601f19601f8301168501019250505092915050565b8015158114610a4057600080fd5b600060208284031215611bcb57600080fd5b8135611bd681611bab565b9392505050565b6001600160a01b0381168114610a4057600080fd5b60008060408385031215611c0557600080fd5b8235611c1081611bdd565b946020939093013593505050565b600080600060608486031215611c3357600080fd5b8335611c3e81611bdd565b92506020840135611c4e81611bdd565b929592945050506040919091013590565b600060208284031215611c7157600080fd5b8135611bd681611bdd565b60008060408385031215611c8f57600080fd5b823591506020830135611ca181611bab565b809150509250929050565b600080600060408486031215611cc157600080fd5b833567ffffffffffffffff80821115611cd957600080fd5b818601915086601f830112611ced57600080fd5b813581811115611cfc57600080fd5b8760208260051b8501011115611d1157600080fd5b60209283019550935050840135611d2781611bab565b809150509250925092565b60008060408385031215611d4557600080fd5b50508035926020909101359150565b60008060408385031215611d6757600080fd5b8235611d7281611bdd565b91506020830135611ca181611bab565b60008060408385031215611d9557600080fd5b8235611da081611bdd565b91506020830135611ca181611bdd565b600060208284031215611dc257600080fd5b5035919050565b600181811c90821680611ddd57607f821691505b602082108103611dfd57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b600060208284031215611e3557600080fd5b8151611bd681611bab565b634e487b7160e01b600052601160045260246000fd5b818103818111156108a9576108a9611e40565b634e487b7160e01b600052603260045260246000fd5b600060018201611e9157611e91611e40565b5060010190565b80820281158282048414176108a9576108a9611e40565b808201808211156108a9576108a9611e40565b600082611edf57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f345784516001600160a01b031683529383019391830191600101611f0f565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208284031215611f6757600080fd5b5051919050565b600060208284031215611f8057600080fd5b8151611bd681611bdd565b600080600060608486031215611fa057600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f3504a27b4e3d4146dc835673125b177d1bdb5b75077ee6b1ce8a0fdb46788e864736f6c63430008110033

Deployed Bytecode Sourcemap

14655:237:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5654:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7442:96;;;;;;;;;;-1:-1:-1;7442:96:0;;;;;:::i;:::-;;:::i;:::-;;6412:159;;;;;;;;;;-1:-1:-1;6412:159:0;;;;;:::i;:::-;;:::i;:::-;;;1557:14:1;;1550:22;1532:41;;1520:2;1505:18;6412:159:0;1392:187:1;13699:177:0;;;;;;;;;;-1:-1:-1;13699:177:0;;;;;:::i;:::-;;:::i;5858:95::-;;;;;;;;;;-1:-1:-1;5938:7:0;;5858:95;;;1730:25:1;;;1718:2;1703:18;5858:95:0;1584:177:1;7403:32:0;;;;;;;;;;-1:-1:-1;7403:32:0;;;;-1:-1:-1;;;7403:32:0;;;;;;3599:30;;;;;;;;;;-1:-1:-1;3599:30:0;;;;-1:-1:-1;;;;;3599:30:0;;;;;;-1:-1:-1;;;;;1949:32:1;;;1931:51;;1919:2;1904:18;3599:30:0;1766:222:1;4000:21:0;;;;;;;;;;;;;;;;6579:336;;;;;;;;;;-1:-1:-1;6579:336:0;;;;;:::i;:::-;;:::i;13587:104::-;;;;;;;;;;;;;:::i;5756:94::-;;;;;;;;;;-1:-1:-1;5833:9:0;;5756:94;;5833:9;;;;2596:36:1;;2584:2;2569:18;5756:94:0;2454:184:1;3458:49:0;;;;;;;;;;-1:-1:-1;3458:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3921:34;;;;;;;;;;;;;;;;3667:45;;;;;;;;;;-1:-1:-1;3667:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4030:24;;;;;;;;;;-1:-1:-1;4030:24:0;;;;-1:-1:-1;;;;;4030:24:0;;;3636;;;;;;;;;;-1:-1:-1;3636:24:0;;;;-1:-1:-1;;;;;3636:24:0;;;13254:199;;;;;;;;;;-1:-1:-1;13254:199:0;;;;;:::i;:::-;;:::i;5961:119::-;;;;;;;;;;-1:-1:-1;5961:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6054:18:0;6027:7;6054:18;;;:9;:18;;;;;;;5961:119;2628:158;;;;;;;;;;;;;:::i;14245:245::-;;;;;;;;;;-1:-1:-1;14245:245:0;;;;;:::i;:::-;;:::i;13079:135::-;;;;;;;;;;-1:-1:-1;13079:135:0;;;;;:::i;:::-;;:::i;3796:41::-;;;;;;;;;;-1:-1:-1;3796:41:0;;;;;;;-1:-1:-1;;;;;3796:41:0;;;2442:79;;;;;;;;;;-1:-1:-1;2480:7:0;2507:6;-1:-1:-1;;;;;2507:6:0;2442:79;;7069:141;;;;;;;;;;-1:-1:-1;7069:141:0;;;;;:::i;:::-;;:::i;3514:40::-;;;;;;;;;;-1:-1:-1;3514:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5548:98;;;;;;;;;;;;;:::i;13461:118::-;;;;;;;;;;-1:-1:-1;13461:118:0;;;;;:::i;:::-;;:::i;6088:165::-;;;;;;;;;;-1:-1:-1;6088:165:0;;;;;:::i;:::-;;:::i;3962:29::-;;;;;;;;;;;;;;;;3886:28;;;;;;;;;;;;;;;;14132:105;;;;;;;;;;-1:-1:-1;14132:105:0;;;;;:::i;:::-;;:::i;14498:113::-;;;;;;;;;;-1:-1:-1;14498:113:0;;;;;:::i;:::-;;:::i;3846:33::-;;;;;;;;;;;;;;;;6261:143;;;;;;;;;;-1:-1:-1;6261:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6369:18:0;;;6342:7;6369:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6261:143;7546:31;;;;;;;;;;;;;;;;7584:101;;;;;;;;;;-1:-1:-1;7584:101:0;;;;;:::i;:::-;;:::i;3335:26::-;;;;;;;;;;-1:-1:-1;3335:26:0;;;;-1:-1:-1;;;;;3335:26:0;;;13884:240;;;;;;;;;;-1:-1:-1;13884:240:0;;;;;:::i;:::-;;:::i;6923:138::-;;;;;;;;;;-1:-1:-1;6923:138:0;;;;;:::i;:::-;;:::i;2794:214::-;;;;;;;;;;-1:-1:-1;2794:214:0;;;;;:::i;:::-;;:::i;13222:25::-;;;;;;;;;;;;;;;;5654:94;5702:13;5735:5;5728:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5654:94;:::o;7442:96::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;;;;;;;;;7508:13:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;7508:22:0::1;-1:-1:-1::0;;;;7508:22:0;;::::1;::::0;;;::::1;::::0;;7442:96::o;6412:159::-;6487:4;6504:37;6513:10;6525:7;6534:6;6504:8;:37::i;:::-;-1:-1:-1;6559:4:0;6412:159;;;;;:::o;13699:177::-;13795:4;-1:-1:-1;;;;;13778:22:0;;;13770:44;;;;-1:-1:-1;;;13770:44:0;;6543:2:1;13770:44:0;;;6525:21:1;6582:2;6562:18;;;6555:30;-1:-1:-1;;;6601:18:1;;;6594:40;6651:18;;13770:44:0;6341:334:1;13770:44:0;13848:11;;13825:43;;-1:-1:-1;;;13825:43:0;;-1:-1:-1;;;;;13848:11:0;;;13825:43;;;6854:51:1;6921:18;;;6914:34;;;13825:22:0;;;;;;6827:18:1;;13825:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13699:177;;:::o;6579:336::-;6677:4;6694:36;6704:6;6712:9;6723:6;6694:9;:36::i;:::-;-1:-1:-1;;;;;6745:19:0;;3787:1;6745:19;;;:11;:19;;;;;;;;6765:10;6745:31;;;;;;;;-1:-1:-1;;6745:38:0;6741:145;;-1:-1:-1;;;;;6834:19:0;;;;;;:11;:19;;;;;;;;6854:10;6834:31;;;;;;;;:40;;6868:6;;6834:40;:::i;:::-;-1:-1:-1;;;;;6800:19:0;;;;;;:11;:19;;;;;;;;6820:10;6800:31;;;;;;;:74;6741:145;-1:-1:-1;6903:4:0;6579:336;;;;;:::o;13587:104::-;13639:11;;13631:52;;-1:-1:-1;;;;;13639:11:0;;;;13661:21;13631:52;;;;;13639:11;13631:52;13639:11;13631:52;13661:21;13639:11;13631:52;;;;;;;;;;;;;;;;;;;;;13587:104::o;13254:199::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;13322:6:::1;:18:::0;;;13351:95;::::1;;;13381:12;13372:6;:21:::0;13254:199;;:::o;13351:95::-:1;13433:1;13424:6;:10:::0;13254:199;;:::o;2628:158::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;2719:6:::1;::::0;;2698:45:::1;::::0;2735:6:::1;::::0;-1:-1:-1;;;;;2719:6:0;;::::1;::::0;2698:45:::1;::::0;::::1;2754:6;:24:::0;;-1:-1:-1;;;;;;2754:24:0::1;2771:6;2754:24;::::0;;2628:158::o;14245:245::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;14359:3:::1;14340:22:::0;::::1;14332:31;;;::::0;::::1;;14379:9;14374:109;14390:20:::0;;::::1;14374:109;;;14466:5;14432:17;:31;14450:9;;14460:1;14450:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14432:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14432:31:0;:39;;-1:-1:-1;;14432:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14412:3:::1;::::0;::::1;:::i;:::-;;;14374:109;;;;14245:245:::0;;;:::o;13079:135::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;13147:11:::1;:18:::0;;-1:-1:-1;;;;;13147:18:0;;::::1;-1:-1:-1::0;;;;;;13147:18:0;;::::1;::::0;::::1;::::0;;:11:::1;13176:23:::0;;;:17:::1;:23;::::0;;;;:30;;-1:-1:-1;;13176:30:0::1;13147:18:::0;13176:30:::1;::::0;;13079:135::o;7069:141::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;7149:12:::1;:23:::0;;;;7183:10:::1;:19:::0;7069:141::o;5548:98::-;5598:13;5631:7;5624:14;;;;;:::i;13461:118::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13543:19:0;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;:28;;-1:-1:-1;;13543:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13461:118::o;6088:165::-;6166:4;6183:40;6193:10;6205:9;6216:6;6183:9;:40::i;14132:105::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14206:14:0;;;::::1;;::::0;;;:8:::1;:14;::::0;;;;:23;;-1:-1:-1;;14206:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14132:105::o;14498:113::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14571:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:32;;-1:-1:-1;;14571:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14498:113::o;7584:101::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;7654:12:::1;:23:::0;7584:101::o;13884:240::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;14002:3:::1;13983:22:::0;::::1;13975:31;;;::::0;::::1;;14022:9;14017:100;14033:20:::0;;::::1;14017:100;;;14100:5;14075:8;:22;14084:9;;14094:1;14084:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14075:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14075:22:0;:30;;-1:-1:-1;;14075:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14055:3:::1;::::0;::::1;:::i;:::-;;;14017:100;;6923:138:::0;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;7002:11:::1;:22:::0;;;;7035:9:::1;:18:::0;6923:138::o;2794:214::-;2569:6;;-1:-1:-1;;;;;2569:6:0;2579:10;2569:20;2561:39;;;;-1:-1:-1;;;2561:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2883:22:0;::::1;2875:43;;;::::0;-1:-1:-1;;;2875:43:0;;7948:2:1;2875:43:0::1;::::0;::::1;7930:21:1::0;7987:1;7967:18;;;7960:29;-1:-1:-1;;;8005:18:1;;;7998:38;8053:18;;2875:43:0::1;7746:331:1::0;2875:43:0::1;2955:6;::::0;;2934:38:::1;::::0;-1:-1:-1;;;;;2934:38:0;;::::1;::::0;2955:6;::::1;::::0;2934:38:::1;::::0;::::1;2983:6;:17:::0;;-1:-1:-1;;;;;;2983:17:0::1;-1:-1:-1::0;;;;;2983:17:0;;;::::1;::::0;;;::::1;::::0;;2794:214::o;7218:177::-;-1:-1:-1;;;;;7303:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7355:32;;1730:25:1;;;7355:32:0;;1703:18:1;7355:32:0;;;;;;;;7218:177;;;:::o;7693:2005::-;-1:-1:-1;;;;;6054:18:0;;7807:15;6054:18;;;:9;:18;;;;;;7859:17;;;;7851:46;;;;-1:-1:-1;;;7851:46:0;;8284:2:1;7851:46:0;;;8266:21:1;8323:2;8303:18;;;8296:30;-1:-1:-1;;;8342:18:1;;;8335:46;8398:18;;7851:46:0;8082:340:1;7851:46:0;-1:-1:-1;;;;;7964:14:0;;7910:12;7964:14;;;:8;:14;;;;;;7910:12;;7964:14;;7963:15;7955:34;;;;-1:-1:-1;;;7955:34:0;;8629:2:1;7955:34:0;;;8611:21:1;8668:1;8648:18;;;8641:29;-1:-1:-1;;;8686:18:1;;;8679:37;8733:18;;7955:34:0;8427:330:1;7955:34:0;-1:-1:-1;;;;;8006:23:0;;;;;;:17;:23;;;;;;;;8005:24;:50;;;;-1:-1:-1;;;;;;8034:21:0;;;;;;:17;:21;;;;;;;;8033:22;8005:50;:67;;;;-1:-1:-1;8059:13:0;;-1:-1:-1;;;8059:13:0;;;;8005:67;8002:363;;;8088:10;;8113:198;8129:12;;8126:1;:15;8113:198;;;8201:44;;;;;;8947:19:1;;;8982:12;;;8975:28;;;8229:15:0;9019:12:1;;;9012:28;9056:12;;8201:44:0;;;;;;;;;;;;8191:55;;;;;;8186:61;;8165:84;;8268:27;8283:4;8288:2;8291:3;8268:14;:27::i;:::-;-1:-1:-1;8142:3:0;;;;:::i;:::-;;;;8113:198;;;-1:-1:-1;8335:12:0;;:18;;8350:3;8335:18;:::i;:::-;8325:28;;;;:::i;:::-;;;8073:292;8002:363;-1:-1:-1;;;;;8380:23:0;;;;;;:17;:23;;;;;;;;8379:24;:50;;;;-1:-1:-1;;;;;;8408:21:0;;;;;;:17;:21;;;;;;;;8407:22;8379:50;8375:102;;;8463:1;8454:6;;:10;8446:19;;;;;;-1:-1:-1;;;;;8501:19:0;;;;;;:13;:19;;;;;;;;;:40;;-1:-1:-1;;;;;;8524:17:0;;;;;;:13;:17;;;;;;;;8501:40;8497:1134;;;-1:-1:-1;;;;;8563:23:0;;;;;;:17;:23;;;;;;;;8562:24;:50;;;;-1:-1:-1;;;;;;8591:21:0;;;;;;:17;:21;;;;;;;;8590:22;8562:50;8558:977;;;8661:6;;8652;;:15;;;;:::i;:::-;8637:12;:30;:52;;;;-1:-1:-1;;;;;;8672:17:0;;;;;;:13;:17;;;;;;;;8671:18;8637:52;8633:120;;;-1:-1:-1;;;;;8714:12:0;;;;;;:8;:12;;;;;:19;;-1:-1:-1;;8714:19:0;8729:4;8714:19;;;8633:120;-1:-1:-1;;;;;8775:17:0;;;;;;:13;:17;;;;;;;;8771:716;;;8822:6;;;;8817:651;;8906:4;8857:28;6054:18;;;:9;:18;;;;;;8943:24;;8939:506;;9000:15;9059:10;;9044:12;;9032:9;;9018:11;;:23;;;;:::i;:::-;:38;;;;:::i;:::-;:51;;;;:::i;:::-;9000:69;-1:-1:-1;9100:27:0;9149:4;9130:16;9000:69;9130:6;:16;:::i;:::-;:23;;;;:::i;:::-;9100:53;;9210:20;9188:19;:42;9184:157;;;-1:-1:-1;9289:20:0;9184:157;9371:46;9388:19;9409:7;9371:16;:46::i;:::-;8969:476;;8939:506;8830:638;8817:651;9515:4;9505:14;;8558:977;-1:-1:-1;;;;;9553:17:0;;;;;;:13;:17;;;;;;;;9549:71;;;-1:-1:-1;9600:4:0;9549:71;9641:49;9656:4;9662:2;9666:6;9674:7;9683:6;9641:14;:49::i;:::-;7796:1902;;;7693:2005;;;:::o;12591:259::-;-1:-1:-1;;;;;12701:17:0;;12684:4;12701:17;;;:9;:17;;;;;:27;;12722:6;;12701:17;12684:4;;12701:27;;12722:6;;12701:27;:::i;:::-;;;;-1:-1:-1;;;;;;;12739:20:0;;;;;;:9;:20;;;;;:30;;12763:6;;12739:20;:30;;12763:6;;12739:30;:::i;:::-;;;;;;;;12802:9;-1:-1:-1;;;;;12785:35:0;12794:6;-1:-1:-1;;;;;12785:35:0;;12813:6;12785:35;;;;1730:25:1;;1718:2;1703:18;;1584:177;12785:35:0;;;;;;;;-1:-1:-1;12838:4:0;12591:259;;;;;:::o;10689:1760::-;4095:6;:13;;-1:-1:-1;;4095:13:0;4104:4;4095:13;;;10784:25;;10802:7:::1;10784:25;10819:18;10830:7:::0;;10819:18:::1;:::i;:::-;;;10848:13;10877:9;;10864:10;;:22;;;;:::i;:::-;10848:38:::0;-1:-1:-1;10897:16:0::1;10938:7:::0;10916:19:::1;10848:38:::0;10916:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;10982:16;::::0;;10996:1:::1;10982:16:::0;;;;;::::1;::::0;;10897:48;;-1:-1:-1;10958:21:0::1;::::0;10982:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10982:16:0::1;10958:40;;11027:4;11009;11014:1;11009:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11009:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11053:9:::1;::::0;11043:7;;11053:9;::::1;::::0;11043:4;;11053:9;;11043:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;11043:19:0;;::::1;:7;::::0;;::::1;::::0;;;;;:19;11077:11:::1;::::0;::::1;:65;11157:22;11171:8:::0;11157:11;:22:::1;:::i;:::-;11237:17;::::0;11077:219:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11077:219:0;;;::::1;::::0;;11194:1:::1;::::0;11210:4;;11237:17:::1;::::0;::::1;-1:-1:-1::0;;;;;11237:17:0::1;::::0;11270:15:::1;::::0;11077:219:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11073:305;;11313:62;::::0;::::1;::::0;;;::::1;11073:305;11390:16;11401:5:::0;11390:16;::::1;:::i;:::-;11440:9;::::0;11506:17:::1;::::0;11483:42:::1;::::0;-1:-1:-1;;;11483:42:0;;-1:-1:-1;;;;;11440:9:0::1;11506:17:::0;;::::1;::::0;::::1;11483:42;::::0;::::1;1931:51:1::0;11390:16:0;;-1:-1:-1;11440:9:0::1;::::0;-1:-1:-1;;11440:9:0;;11483:14:::1;::::0;1904:18:1;;11483:42:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11461:64;;11536:18;11606:7;11586:12;;11572:11;;:26;;;;:::i;:::-;11557:42;::::0;:11;:42:::1;:::i;:::-;:46;::::0;11602:1:::1;11557:46;:::i;:::-;:56;;;;:::i;:::-;11536:77;;11641:11;;;;;;;;;-1:-1:-1::0;;;;;11641:11:0::1;-1:-1:-1::0;;;;;11641:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11628:9;::::0;-1:-1:-1;;;;;11628:31:0;;::::1;:9:::0;::::1;:31:::0;11624:357:::1;;11702:17;::::0;11676:72:::1;::::0;-1:-1:-1;;;11676:72:0;;11702:17:::1;::::0;;::::1;-1:-1:-1::0;;;;;11702:17:0;;::::1;11676:72;::::0;::::1;11406:34:1::0;11730:4:0::1;11456:18:1::0;;;11449:43;11508:18;;;11501:34;;;11676:17:0;::::1;::::0;::::1;::::0;11341:18:1;;11676:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11769:9:0::1;::::0;11763:37:::1;::::0;-1:-1:-1;;;11763:37:0;;::::1;::::0;::::1;1730:25:1::0;;;-1:-1:-1;;;;;11769:9:0;;::::1;::::0;11763:25:::1;::::0;1703:18:1;;11763:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11844:11:0::1;::::0;11815:53:::1;::::0;-1:-1:-1;;;;;;11844:11:0::1;::::0;-1:-1:-1;11857:10:0;11815:20:::1;:53::i;:::-;11624:357;;;11925:17;::::0;11945:11:::1;::::0;11899:70:::1;::::0;-1:-1:-1;;;11899:70:0;;11925:17:::1;::::0;;::::1;-1:-1:-1::0;;;;;11925:17:0;;::::1;11899:70;::::0;::::1;11406:34:1::0;11945:11:0;;::::1;11456:18:1::0;;;11449:43;11508:18;;;11501:34;;;11899:17:0;::::1;::::0;::::1;::::0;11341:18:1;;11899:70:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11624:357;12017:17;::::0;-1:-1:-1;;;;;11991:17:0;;::::1;::::0;::::1;::::0;12017::::1;::::0;;::::1;;12045:4;12052:24;12066:10:::0;12052:11;:24:::1;:::i;:::-;11991:86;::::0;-1:-1:-1;;;;;;11991:86:0::1;::::0;;;;;;-1:-1:-1;;;;;11424:15:1;;;11991:86:0::1;::::0;::::1;11406:34:1::0;11476:15;;;;11456:18;;;11449:43;11508:18;;;11501:34;11341:18;;11991:86:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12102:12:0;;12098:344:::1;;12131:14;12170:7:::0;12148:19:::1;12162:5:::0;12148:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;12131:46:::0;-1:-1:-1;12196:10:0;;12192:239:::1;;12231:11;::::0;12293:9:::1;::::0;12328:11:::1;::::0;12231:144:::1;::::0;-1:-1:-1;;;12231:144:0;;12286:4:::1;12231:144;::::0;::::1;11943:34:1::0;-1:-1:-1;;;;;12293:9:0;;::::1;11993:18:1::0;;;11986:43;12045:18;;;12038:34;;;12088:18;;;12081:34;;;12231:11:0::1;12131:19:1::0;;;12124:35;;;12175:19;;;12168:35;12328:11:0;;::::1;12219:19:1::0;;;12212:44;12341:15:0::1;12272:19:1::0;;;12265:35;12231:11:0;::::1;::::0;:24:::1;::::0;11877:19:1;;12231:144:0::1;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12231:144:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;12231:144:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;12227:189;;12392:21;::::0;::::1;::::0;;;::::1;12227:189;;;;;;;12116:326;12098:344;10773:1676;;;;;;4119:1;-1:-1:-1::0;;4131:6:0;:14;;-1:-1:-1;;4131:14:0;;;10689:1760::o;9706:864::-;-1:-1:-1;;;;;9900:17:0;;;;;;:9;:17;;;;;;:27;;9920:7;;9900:27;:::i;:::-;-1:-1:-1;;;;;9880:17:0;;;;;;:9;:17;;;;;:47;;;;9968:529;;;;9996:15;10032:6;10028:156;;;10084:10;;10069:12;;:25;;;;:::i;:::-;10059:35;;10028:156;;;10159:9;;10145:11;;:23;;;;:::i;:::-;10135:33;;10028:156;10198:18;10239:5;10219:17;10229:7;10219;:17;:::i;:::-;:25;;;;:::i;:::-;10198:46;-1:-1:-1;10263:14:0;;10259:227;;10298:23;10311:10;10298:23;;:::i;:::-;;;10340:130;10376:6;10413:4;10441:10;10340:13;:130::i;:::-;9981:516;;9968:529;10509:53;10523:6;10531:9;10542:19;10552:9;10542:7;:19;:::i;:::-;10509:13;:53::i;12457:126::-;12549:26;;-1:-1:-1;;;;;12549:18:0;;;:26;;;;;12568:6;;12549:26;;;;12568:6;12549:18;:26;;;;;;;;;;;;;;;;;;;12858:213;-1:-1:-1;;;;;12995:13:0;;;;;;:9;:13;;;;;;:23;;13011:7;;12995:23;:::i;:::-;-1:-1:-1;;;;;12979:13:0;;;;;;;:9;:13;;;;;;;:39;;;;13034:29;;;;;;;;;;13055:7;1730:25:1;;1718:2;1703:18;;1584:177;14:548;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:118::-;653:5;646:13;639:21;632:5;629:32;619:60;;675:1;672;665:12;690:241;746:6;799:2;787:9;778:7;774:23;770:32;767:52;;;815:1;812;805:12;767:52;854:9;841:23;873:28;895:5;873:28;:::i;:::-;920:5;690:241;-1:-1:-1;;;690:241:1:o;936:131::-;-1:-1:-1;;;;;1011:31:1;;1001:42;;991:70;;1057:1;1054;1047:12;1072:315;1140:6;1148;1201:2;1189:9;1180:7;1176:23;1172:32;1169:52;;;1217:1;1214;1207:12;1169:52;1256:9;1243:23;1275:31;1300:5;1275:31;:::i;:::-;1325:5;1377:2;1362:18;;;;1349:32;;-1:-1:-1;;;1072:315:1:o;1993:456::-;2070:6;2078;2086;2139:2;2127:9;2118:7;2114:23;2110:32;2107:52;;;2155:1;2152;2145:12;2107:52;2194:9;2181:23;2213:31;2238:5;2213:31;:::i;:::-;2263:5;-1:-1:-1;2320:2:1;2305:18;;2292:32;2333:33;2292:32;2333:33;:::i;:::-;1993:456;;2385:7;;-1:-1:-1;;;2439:2:1;2424:18;;;;2411:32;;1993:456::o;2643:247::-;2702:6;2755:2;2743:9;2734:7;2730:23;2726:32;2723:52;;;2771:1;2768;2761:12;2723:52;2810:9;2797:23;2829:31;2854:5;2829:31;:::i;3103:309::-;3168:6;3176;3229:2;3217:9;3208:7;3204:23;3200:32;3197:52;;;3245:1;3242;3235:12;3197:52;3281:9;3268:23;3258:33;;3341:2;3330:9;3326:18;3313:32;3354:28;3376:5;3354:28;:::i;:::-;3401:5;3391:15;;;3103:309;;;;;:::o;3417:750::-;3509:6;3517;3525;3578:2;3566:9;3557:7;3553:23;3549:32;3546:52;;;3594:1;3591;3584:12;3546:52;3634:9;3621:23;3663:18;3704:2;3696:6;3693:14;3690:34;;;3720:1;3717;3710:12;3690:34;3758:6;3747:9;3743:22;3733:32;;3803:7;3796:4;3792:2;3788:13;3784:27;3774:55;;3825:1;3822;3815:12;3774:55;3865:2;3852:16;3891:2;3883:6;3880:14;3877:34;;;3907:1;3904;3897:12;3877:34;3962:7;3955:4;3945:6;3942:1;3938:14;3934:2;3930:23;3926:34;3923:47;3920:67;;;3983:1;3980;3973:12;3920:67;4014:4;4006:13;;;;-1:-1:-1;4038:6:1;-1:-1:-1;;4079:20:1;;4066:34;4109:28;4066:34;4109:28;:::i;:::-;4156:5;4146:15;;;3417:750;;;;;:::o;4404:248::-;4472:6;4480;4533:2;4521:9;4512:7;4508:23;4504:32;4501:52;;;4549:1;4546;4539:12;4501:52;-1:-1:-1;;4572:23:1;;;4642:2;4627:18;;;4614:32;;-1:-1:-1;4404:248:1:o;4657:382::-;4722:6;4730;4783:2;4771:9;4762:7;4758:23;4754:32;4751:52;;;4799:1;4796;4789:12;4751:52;4838:9;4825:23;4857:31;4882:5;4857:31;:::i;:::-;4907:5;-1:-1:-1;4964:2:1;4949:18;;4936:32;4977:30;4936:32;4977:30;:::i;5044:388::-;5112:6;5120;5173:2;5161:9;5152:7;5148:23;5144:32;5141:52;;;5189:1;5186;5179:12;5141:52;5228:9;5215:23;5247:31;5272:5;5247:31;:::i;:::-;5297:5;-1:-1:-1;5354:2:1;5339:18;;5326:32;5367:33;5326:32;5367:33;:::i;5437:180::-;5496:6;5549:2;5537:9;5528:7;5524:23;5520:32;5517:52;;;5565:1;5562;5555:12;5517:52;-1:-1:-1;5588:23:1;;5437:180;-1:-1:-1;5437:180:1:o;5622:380::-;5701:1;5697:12;;;;5744;;;5765:61;;5819:4;5811:6;5807:17;5797:27;;5765:61;5872:2;5864:6;5861:14;5841:18;5838:38;5835:161;;5918:10;5913:3;5909:20;5906:1;5899:31;5953:4;5950:1;5943:15;5981:4;5978:1;5971:15;5835:161;;5622:380;;;:::o;6007:329::-;6209:2;6191:21;;;6248:1;6228:18;;;6221:29;-1:-1:-1;;;6281:2:1;6266:18;;6259:36;6327:2;6312:18;;6007:329::o;6959:245::-;7026:6;7079:2;7067:9;7058:7;7054:23;7050:32;7047:52;;;7095:1;7092;7085:12;7047:52;7127:9;7121:16;7146:28;7168:5;7146:28;:::i;7209:127::-;7270:10;7265:3;7261:20;7258:1;7251:31;7301:4;7298:1;7291:15;7325:4;7322:1;7315:15;7341:128;7408:9;;;7429:11;;;7426:37;;;7443:18;;:::i;7474:127::-;7535:10;7530:3;7526:20;7523:1;7516:31;7566:4;7563:1;7556:15;7590:4;7587:1;7580:15;7606:135;7645:3;7666:17;;;7663:43;;7686:18;;:::i;:::-;-1:-1:-1;7733:1:1;7722:13;;7606:135::o;9079:168::-;9152:9;;;9183;;9200:15;;;9194:22;;9180:37;9170:71;;9221:18;;:::i;9252:125::-;9317:9;;;9338:10;;;9335:36;;;9351:18;;:::i;9382:217::-;9422:1;9448;9438:132;;9492:10;9487:3;9483:20;9480:1;9473:31;9527:4;9524:1;9517:15;9555:4;9552:1;9545:15;9438:132;-1:-1:-1;9584:9:1;;9382:217::o;9736:980::-;9998:4;10046:3;10035:9;10031:19;10077:6;10066:9;10059:25;10103:2;10141:6;10136:2;10125:9;10121:18;10114:34;10184:3;10179:2;10168:9;10164:18;10157:31;10208:6;10243;10237:13;10274:6;10266;10259:22;10312:3;10301:9;10297:19;10290:26;;10351:2;10343:6;10339:15;10325:29;;10372:1;10382:195;10396:6;10393:1;10390:13;10382:195;;;10461:13;;-1:-1:-1;;;;;10457:39:1;10445:52;;10552:15;;;;10517:12;;;;10493:1;10411:9;10382:195;;;-1:-1:-1;;;;;;;10633:32:1;;;;10628:2;10613:18;;10606:60;-1:-1:-1;;;10697:3:1;10682:19;10675:35;10594:3;9736:980;-1:-1:-1;;;9736:980:1:o;10721:184::-;10791:6;10844:2;10832:9;10823:7;10819:23;10815:32;10812:52;;;10860:1;10857;10850:12;10812:52;-1:-1:-1;10883:16:1;;10721:184;-1:-1:-1;10721:184:1:o;10910:251::-;10980:6;11033:2;11021:9;11012:7;11008:23;11004:32;11001:52;;;11049:1;11046;11039:12;11001:52;11081:9;11075:16;11100:31;11125:5;11100:31;:::i;12311:306::-;12399:6;12407;12415;12468:2;12456:9;12447:7;12443:23;12439:32;12436:52;;;12484:1;12481;12474:12;12436:52;12513:9;12507:16;12497:26;;12563:2;12552:9;12548:18;12542:25;12532:35;;12607:2;12596:9;12592:18;12586:25;12576:35;;12311:306;;;;;:::o

Swarm Source

ipfs://9cf94ad6f0b04e82256c65a4d73e38dda6cabb64f4f50902507c08d813e747b0

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.