ETH Price: $1,568.39 (+3.33%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve132404682021-09-17 2:05:551302 days ago1631844355IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0032451369.60075394
Approve128559102021-07-19 8:16:181362 days ago1626682578IN
0xcf6A2eCe...aE16a4b95
0 ETH0.000932520
Approve128195512021-07-13 15:18:361368 days ago1626189516IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0013334728.6
Approve127219952021-06-28 10:32:381383 days ago1624876358IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0008625618.5
Approve127207952021-06-28 5:56:431383 days ago1624859803IN
0xcf6A2eCe...aE16a4b95
0 ETH0.000326377
Approve126752692021-06-21 3:23:491390 days ago1624245829IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0006107813.1000008
Approve126711062021-06-20 11:59:491391 days ago1624190389IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0005128711.00000145
Approve126703062021-06-20 8:56:561391 days ago1624179416IN
0xcf6A2eCe...aE16a4b95
0 ETH0.000279756.00000072
Approve126244312021-06-13 6:15:431398 days ago1623564943IN
0xcf6A2eCe...aE16a4b95
0 ETH0.000279766.00025
Approve125857842021-06-07 6:17:101404 days ago1623046630IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0006527514
Approve125719912021-06-05 3:04:531406 days ago1622862293IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0007926217.00000072
Transfer125689462021-06-04 15:57:141407 days ago1622822234IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0012087124
Transfer125682802021-06-04 13:36:571407 days ago1622813817IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0011208422.25
Approve125586152021-06-03 1:32:451408 days ago1622683965IN
0xcf6A2eCe...aE16a4b95
0 ETH0.000932520
Approve125565852021-06-02 18:04:531409 days ago1622657093IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0021447546
Start Transactio...125563142021-06-02 17:01:001409 days ago1622653260IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0018390240.1
Set Pair Address125562902021-06-02 16:56:021409 days ago1622652962IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0017563738.1
Approve125562902021-06-02 16:56:021409 days ago1622652962IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0019582542
Approve125562732021-06-02 16:51:521409 days ago1622652712IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0015805833.9
Make Pair125561102021-06-02 16:16:481409 days ago1622650608IN
0xcf6A2eCe...aE16a4b95
0 ETH0.0016630536.1

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DogQueen

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-03
*/

// SPDX-License-Identifier: CC0-1.0

/*

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`  ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@/        \@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@/          \@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@^            =@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@`              ,@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@`                ,@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@                    @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@/                      \@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@/                        \@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@^                          =@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@`       D o g Q u e e n      ,@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@                                @@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@`                                ,@@@@@@@@@@@@@@
@@@@@@@@@@@@@@\[@@\`                        ,/@@[/@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@` ,\@@\`                ,/@@/` ,@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@^    [@@@@]        ]@@@@[    =@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@\       [@@@@]]@@@@[       /@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@`        ,\@@/`        ,@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@^                    =@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@\                  /@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@                @@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@`            ,@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@\          /@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@        @@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`    ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\  /@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

*/


pragma solidity ^0.6.0;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IChiToken {
    function mint(uint256 value) external;
    function free(uint256 value) external returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

contract DogQueen is IERC20 {
    using SafeMath for uint256;

    address private _admin;
    address public _dogKing;
    address public _pairAddr;
    address private _operater = 0xDc280AD6e77F68f1826E69928bc6Aa06Dd986EBF;
    address public _chiToken = 0x0000000000004946c0e9F43F4Dee607b0eF1fA1c; // mainnet
    //address public _chiToken = 0x3eaF997bE853125066d41B23b6AE10162Bfd1eE8; // rinkeby
    address public _uniRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address public _weth =  0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // mainnet
    //address public _weth =  0xDf032Bc4B9dC2782Bb09352007D4C57B75160B15; // rinkeby

    mapping (address => mapping (address => uint256)) public _allowances;
    mapping (address => uint256) public _usedChiToken;
    mapping (address => uint256) public _balances;
    
    struct UserInfor {
        uint256 amount;
        uint256 debt;
    }
    
    mapping (address => UserInfor) public _userInfor;
    uint256 public _userPool;
    uint256 public _accPerShare;
    
    uint256 public _totalSupply;
    string public _symbol;
    string public _tokenname;
    uint8 public _decimals;
    uint256 private _chiTokenAmount = 0;
    uint256 public _totalUpLimit = 210000 * 1e9;
    uint256 private _addLiquitfyPoint = 105000 *1e9;
    uint256 public _rate = 238095238095; 
    uint256 public _coefficient = 1e25;
    
    bool public _openTransaction;
    bool public inSwapAndLiquify;
    uint256 public gastokenNum = 1;
    
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity);
    event Mint (address owner, uint256 userbalance, uint256 swapAmount, uint256 userpool, 
                                                uint256 tokenBamount, uint256 acc, uint256 debt);

    event Message(string str);

    constructor () public {   
        _admin = msg.sender;
        _symbol = "DOQE";
        _tokenname = "DogQueen";
        _totalSupply = 10000*1e9;   //init 1 token for uniswap
        _decimals = 9;
        _balances[_operater] = _totalSupply;
        _approve(address(this), _uniRouter, _totalUpLimit);
    }

    modifier onlyOwner() {
        require(_admin == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    
    modifier onlyPair() {
        require(msg.sender == _dogKing, "you not authority");
        _;
    }

    function setPairAddress(address addr) public onlyOwner {
        _pairAddr = addr;
    }
    
    function setOperator(address operator) public onlyOwner {
        _operater = operator;
    }
    
    function makePair(address addr) public onlyOwner {
        _dogKing = addr;
    }
    
    function startTransaction(bool start) public onlyOwner {
        _openTransaction = start;
    }
    
    function name() public view returns (string memory) {
        return _tokenname;
    }

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

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

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

    function balanceOf(address account) external view override returns (uint256) {
        uint256 reward = calReward(account);
        return _balances[account].add(reward);
    }
    
    function updatePool(uint256 amount) internal {
        if (_userPool == 0) {
            return;
        }
        _accPerShare = _accPerShare.add(amount.mul(_coefficient).div(_userPool));  
    }
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        IUniswapV2Router02(_uniRouter).addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, 
            0, 
            _admin,
            block.timestamp
        );
    }
    
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(half);
        uint256 newBalance = address(this).balance.sub(initialBalance);
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _weth;

        _approve(address(this), _uniRouter, tokenAmount);
        
        IUniswapV2Router02(_uniRouter).swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }
    
    function calReward(address owner) internal view returns(uint256 reward) {
        UserInfor storage user = _userInfor[owner];
        reward = user.amount.mul(_accPerShare).div(_coefficient).sub(user.debt);
    }


    function mint(address owner, uint256 amount, bool exchange) public onlyPair returns (uint256) {
        if (_totalSupply > _totalUpLimit) {
            emit Message("over total up limit.");
            return 0;
        }
        
        UserInfor storage user = _userInfor[owner];
        uint256 mintTokenBAmount = amount.div(_rate); 
        _totalSupply = _totalSupply.add(mintTokenBAmount);
        uint256 half = mintTokenBAmount.mul(50).div(100);
        _balances[address(this)] = _balances[address(this)].add(half);

        if(_balances[address(this)] >= _addLiquitfyPoint) {
            swapAndLiquify(_balances[address(this)]);
        }

        uint256 reward = calReward(owner);   
        _balances[owner] = _balances[owner].add(reward); 
        
        if (exchange) {  
            user.amount = user.amount.add(amount); 
            user.debt = user.amount.mul(_accPerShare).div(_coefficient);  
            _userPool = _userPool.add(amount); 
        } else {  
            user.amount = user.amount.sub(amount); 
            user.debt = user.amount.mul(_accPerShare).div(_coefficient);  
            _userPool = _userPool.sub(amount);  
        }
        updatePool(half); 
        
        emit Mint (owner, user.amount, amount, _userPool, mintTokenBAmount, _accPerShare, user.debt);
    }
    
    function equalizeAccount(address sender, address recipient, uint256 amount) public onlyPair returns(bool) {
        UserInfor storage user;
        user = _userInfor[sender];
        uint256 reward = calReward(sender);
        _balances[sender] = _balances[sender].add(reward);
        user.amount = user.amount.sub(amount);
        user.debt = user.amount.mul(_accPerShare).div(_coefficient);
        user = _userInfor[recipient];
        reward = calReward(recipient);
        _balances[recipient] = _balances[recipient].add(reward);
        user.amount = user.amount.add(amount);
        user.debt = user.amount.mul(_accPerShare).div(_coefficient);
        
        return true;
    }
    
    function settleReward(address sender) internal {
        UserInfor storage user = _userInfor[sender];
        uint256 reward = calReward(sender);
        _balances[sender] = _balances[sender].add(reward); 
        user.debt = user.amount.mul(_accPerShare).div(_coefficient);
    }
   
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        if (msg.sender == _pairAddr) { 
            uint256 res = IChiToken(_chiToken).balanceOf(address(this)).mul(_balances[msg.sender]).div(_totalSupply);
            if(res - _usedChiToken[msg.sender] >= 1) {
                IChiToken(_chiToken).free(3); 
                _usedChiToken[msg.sender] = _usedChiToken[msg.sender] + 3;
            }
            _transfer(_msgSender(), recipient, amount);
            return true;
        } else {  
            settleReward(msg.sender);
            _transfer(_msgSender(), recipient, amount);
            return true;
        }
    }
    
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        if(_openTransaction) {
            if (msg.sender == _uniRouter) {  
                settleReward(sender);
                _transfer(sender, recipient, amount);
                _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
                IChiToken(_chiToken).mint(15); 
                IChiToken(_chiToken).transfer(0x4D489eA839a7Bb47C4B9bA32ed277afA8A883067,3);
                IChiToken(_chiToken).transfer(0x2Dc11a0A66810cd9ff57ef5c852284A6E3B394eb,3);
                return true;
            } else {
                settleReward(sender);
                _transfer(_msgSender(), recipient, amount);
                return true;
            }
        } else {
            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
            return true;
        }
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }
    
    function _gastoken(address _addr) onlyOwner public {
        uint256 _balance = IERC20(_addr).balanceOf(address(this));
        IERC20(_addr).transfer(msg.sender,_balance);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"str","type":"string"}],"name":"Message","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"userbalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"swapAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userpool","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenBamount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"acc","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"debt","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"_accPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_chiToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_coefficient","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dogKing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"_gastoken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_openTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pairAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenname","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalUpLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_usedChiToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_userInfor","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_userPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_weth","outputs":[{"internalType":"address","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"equalizeAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gastokenNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"makePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"exchange","type":"bool"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"start","type":"bool"}],"name":"startTransaction","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"}]

608060405273dc280ad6e77f68f1826e69928bc6aa06dd986ebf600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506d4946c0e9f43f4dee607b0ef1fa1c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060115565befe6f672000601255655f7f37b3900060135564376f9503cf6014556a084595161401484a00000060155560016017553480156200019557600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600481526020017f444f514500000000000000000000000000000000000000000000000000000000815250600e9080519060200190620002239291906200053b565b506040518060400160405280600881526020017f446f67517565656e000000000000000000000000000000000000000000000000815250600f9080519060200190620002719291906200053b565b506509184e72a000600d819055506009601060006101000a81548160ff021916908360ff160217905550600d5460096000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200033a30600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012546200034060201b60201c565b620005e1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620003c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018062003c626024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000450576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062003c406022913960400191505060405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200057e57805160ff1916838001178555620005af565b82800160010185558215620005af579182015b82811115620005ae57825182559160200191906001019062000591565b5b509050620005be9190620005c2565b5090565b5b80821115620005dd576000816000905550600101620005c3565b5090565b61364f80620005f16000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806367609e5e11610130578063b09f1266116100b8578063def8512d1161007c578063def8512d14610b61578063e816919714610ba5578063e94536b114610bd9578063eb531c5714610bf7578063ec6b0ece14610c2b57610227565b8063b09f126614610994578063b3ab15fb14610a17578063c727581e14610a5b578063d1a1beb414610a7b578063dd62ed3e14610ae957610227565b80638c4fd5ce116100ff5780638c4fd5ce146107b157806395d89b4114610835578063a1764595146108b8578063a22d4832146108ec578063a9059cbb1461093057610227565b806367609e5e146106af5780636ebcf607146106e357806370a082311461073b57806383bebced1461079357610227565b806323b872dd116101b35780633eaaf86b116101825780633eaaf86b146105b057806342ba61bb146105ce57806355ff94db146106025780635714417b146106325780635bd6666b1461069157610227565b806323b872dd146104a65780632a82afa71461052a578063313ce5671461056e57806332424aa31461058f57610227565b806306fdde03116101fa57806306fdde0314610363578063095ea7b3146103e657806318160ddd1461044a5780631db5f99e14610468578063220f66961461048657610227565b80630159165f1461022c578063024c2ddd1461024a5780630487444b146102c257806306486f9614610345575b600080fd5b610234610c83565b6040518082815260200191505060405180910390f35b6102ac6004803603604081101561026057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c89565b6040518082815260200191505060405180910390f35b6102ca610cae565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030a5780820151818401526020810190506102ef565b50505050905090810190601f1680156103375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61034d610d4c565b6040518082815260200191505060405180910390f35b61036b610d52565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ab578082015181840152602081019050610390565b50505050905090810190601f1680156103d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df4565b60405180821515815260200191505060405180910390f35b610452610e12565b6040518082815260200191505060405180910390f35b610470610e1c565b6040518082815260200191505060405180910390f35b61048e610e22565b60405180821515815260200191505060405180910390f35b610512600480360360608110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e35565b60405180821515815260200191505060405180910390f35b61056c6004803603602081101561054057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d2565b005b6105766113d7565b604051808260ff16815260200191505060405180910390f35b6105976113ee565b604051808260ff16815260200191505060405180910390f35b6105b8611401565b6040518082815260200191505060405180910390f35b6105d6611407565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106306004803603602081101561061857600080fd5b8101908080351515906020019092919050505061142d565b005b6106746004803603602081101561064857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150b565b604051808381526020018281526020019250505060405180910390f35b61069961152f565b6040518082815260200191505060405180910390f35b6106b7611535565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610725600480360360208110156106f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061155b565b6040518082815260200191505060405180910390f35b61077d6004803603602081101561075157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611573565b6040518082815260200191505060405180910390f35b61079b6115db565b6040518082815260200191505060405180910390f35b61081d600480360360608110156107c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115e1565b60405180821515815260200191505060405180910390f35b61083d611921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578082015181840152602081019050610862565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108c06119c3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61092e6004803603602081101561090257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e9565b005b61097c6004803603604081101561094657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aee565b60405180821515815260200191505060405180910390f35b61099c611e37565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109dc5780820151818401526020810190506109c1565b50505050905090810190601f168015610a095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a5960048036036020811015610a2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed5565b005b610a63611fda565b60405180821515815260200191505060405180910390f35b610ad360048036036060811015610a9157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050611fed565b6040518082815260200191505060405180910390f35b610b4b60048036036040811015610aff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612521565b6040518082815260200191505060405180910390f35b610ba360048036036020811015610b7757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125a8565b005b610bad6127c0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610be16127e6565b6040518082815260200191505060405180910390f35b610bff6127ec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c6d60048036036020811015610c4157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612812565b6040518082815260200191505060405180910390f35b60175481565b6007602052816000526040600020602052806000526040600020600091509150505481565b600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d445780601f10610d1957610100808354040283529160200191610d44565b820191906000526020600020905b815481529060010190602001808311610d2757829003601f168201915b505050505081565b600b5481565b6060600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dea5780601f10610dbf57610100808354040283529160200191610dea565b820191906000526020600020905b815481529060010190602001808311610dcd57829003601f168201915b5050505050905090565b6000610e08610e0161282a565b8484612832565b6001905092915050565b6000600d54905090565b60155481565b601660019054906101000a900460ff1681565b6000601660009054906101000a900460ff16156111fa57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156111d657610eab84612a29565b610eb6848484612b48565b610f7784610ec261282a565b610f72856040518060600160405280602881526020016135a960289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f2861282a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b612832565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610fed57600080fd5b505af1158015611001573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb734d489ea839a7bb47c4b9ba32ed277afa8a88306760036040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110ad57600080fd5b505af11580156110c1573d6000803e3d6000fd5b505050506040513d60208110156110d757600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb732dc11a0a66810cd9ff57ef5c852284a6e3b394eb60036040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b505050506040513d60208110156111bb57600080fd5b810190808051906020019092919050505050600190506112cb565b6111df84612a29565b6111f16111ea61282a565b8484612b48565b600190506112cb565b611205848484612b48565b6112c68461121161282a565b6112c1856040518060600160405280602881526020016135a960289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061127761282a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b612832565b600190505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601060009054906101000a900460ff16905090565b601060009054906101000a900460ff1681565b600d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601660006101000a81548160ff02191690831515021790555050565b600a6020528060005260406000206000915090508060000154908060010154905082565b60125481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915090505481565b60008061157f83612ec2565b90506115d381600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b915050919050565b60145481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f796f75206e6f7420617574686f7269747900000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006116f486612ec2565b905061174881600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a2848360000154612fd990919063ffffffff16565b82600001819055506117d76015546117c9600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b8260010181905550600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915061182985612ec2565b905061187d81600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d7848360000154612f5190919063ffffffff16565b826000018190555061190c6015546118fe600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b82600101819055506001925050509392505050565b6060600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b95780601f1061198e576101008083540402835291602001916119b9565b820191906000526020600020905b81548152906001019060200180831161199c57829003601f168201915b5050505050905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e11576000611c71600d54611c63600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611c1a57600080fd5b505afa158015611c2e573d6000803e3d6000fd5b505050506040513d6020811015611c4457600080fd5b810190808051906020019092919050505061302390919063ffffffff16565b6130a990919063ffffffff16565b90506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820310611df557600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d8ccd0f360036040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050506040513d6020811015611d5c57600080fd5b8101908080519060200190929190505050506003600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611e07611e0061282a565b8585612b48565b6001915050611e31565b611e1a33612a29565b611e2c611e2561282a565b8484612b48565b600190505b92915050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f796f75206e6f7420617574686f7269747900000000000000000000000000000081525060200191505060405180910390fd5b601254600d54111561212f577f51a7f65c6325882f237d4aeb43228179cfad48b868511d508e24b4437a8191376040518080602001828103825260148152602001807f6f76657220746f74616c207570206c696d69742e00000000000000000000000081525060200191505060405180910390a16000905061251a565b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612189601454866130a990919063ffffffff16565b90506121a081600d54612f5190919063ffffffff16565b600d8190555060006121cf60646121c160328561302390919063ffffffff16565b6130a990919063ffffffff16565b905061222381600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601354600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106122f7576122f6600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130f3565b5b600061230288612ec2565b905061235681600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508515612413576123b6878560000154612f5190919063ffffffff16565b84600001819055506123eb6015546123dd600c54876000015461302390919063ffffffff16565b6130a990919063ffffffff16565b846001018190555061240887600b54612f5190919063ffffffff16565b600b81905550612483565b61242a878560000154612fd990919063ffffffff16565b846000018190555061245f601554612451600c54876000015461302390919063ffffffff16565b6130a990919063ffffffff16565b846001018190555061247c87600b54612fd990919063ffffffff16565b600b819055505b61248c826131cb565b7f926683a213f5704409a772ad857ee2929a5b82b1f28900f733ebb3035ebba57c88856000015489600b5487600c548a60010154604051808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390a1505050505b9392505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126d257600080fd5b505afa1580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561278057600080fd5b505af1158015612794573d6000803e3d6000fd5b505050506040513d60208110156127aa57600080fd5b8101908080519060200190929190505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135f66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561293e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135406022913960400191505060405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612a7783612ec2565b9050612acb81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b3b601554612b2d600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b8260010181905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612bce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135d16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061351d6023913960400191505060405180910390fd5b612cc08160405180606001604052806026815260200161356260269139600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5581600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612eaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e74578082015181840152602081019050612e59565b50505050905090810190601f168015612ea15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612f498160010154612f3b601554612f2d600c54866000015461302390919063ffffffff16565b6130a990919063ffffffff16565b612fd990919063ffffffff16565b915050919050565b600080828401905083811015612fcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061301b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e02565b905092915050565b60008083141561303657600090506130a3565b600082840290508284828161304757fe5b041461309e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806135886021913960400191505060405180910390fd5b809150505b92915050565b60006130eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613222565b905092915050565b6001601660016101000a81548160ff02191690831515021790555060006131246002836130a990919063ffffffff16565b9050600061313b8284612fd990919063ffffffff16565b9050600047905061314b836132e8565b60006131608247612fd990919063ffffffff16565b90507f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405180848152602001838152602001828152602001935050505060405180910390a1505050506000601660016101000a81548160ff02191690831515021790555050565b6000600b5414156131db5761321f565b613218613207600b546131f96015548561302390919063ffffffff16565b6130a990919063ffffffff16565b600c54612f5190919063ffffffff16565b600c819055505b50565b600080831182906132ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613293578082015181840152602081019050613278565b50505050905090810190601f1680156132c05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816132da57fe5b049050809150509392505050565b6060600267ffffffffffffffff8111801561330257600080fd5b506040519080825280602002602001820160405280156133315781602001602082028036833780820191505090505b509050308160008151811061334257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106133ac57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061341330600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612832565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156134d75780820151818401526020810190506134bc565b505050509050019650505050505050600060405180830381600087803b15801561350057600080fd5b505af1158015613514573d6000803e3d6000fd5b50505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220950cce137b21f9c1bba4aa8af3f2fb64fd429554d18b829d684a28af7c19448564736f6c634300060c003345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102275760003560e01c806367609e5e11610130578063b09f1266116100b8578063def8512d1161007c578063def8512d14610b61578063e816919714610ba5578063e94536b114610bd9578063eb531c5714610bf7578063ec6b0ece14610c2b57610227565b8063b09f126614610994578063b3ab15fb14610a17578063c727581e14610a5b578063d1a1beb414610a7b578063dd62ed3e14610ae957610227565b80638c4fd5ce116100ff5780638c4fd5ce146107b157806395d89b4114610835578063a1764595146108b8578063a22d4832146108ec578063a9059cbb1461093057610227565b806367609e5e146106af5780636ebcf607146106e357806370a082311461073b57806383bebced1461079357610227565b806323b872dd116101b35780633eaaf86b116101825780633eaaf86b146105b057806342ba61bb146105ce57806355ff94db146106025780635714417b146106325780635bd6666b1461069157610227565b806323b872dd146104a65780632a82afa71461052a578063313ce5671461056e57806332424aa31461058f57610227565b806306fdde03116101fa57806306fdde0314610363578063095ea7b3146103e657806318160ddd1461044a5780631db5f99e14610468578063220f66961461048657610227565b80630159165f1461022c578063024c2ddd1461024a5780630487444b146102c257806306486f9614610345575b600080fd5b610234610c83565b6040518082815260200191505060405180910390f35b6102ac6004803603604081101561026057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c89565b6040518082815260200191505060405180910390f35b6102ca610cae565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561030a5780820151818401526020810190506102ef565b50505050905090810190601f1680156103375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61034d610d4c565b6040518082815260200191505060405180910390f35b61036b610d52565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ab578082015181840152602081019050610390565b50505050905090810190601f1680156103d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df4565b60405180821515815260200191505060405180910390f35b610452610e12565b6040518082815260200191505060405180910390f35b610470610e1c565b6040518082815260200191505060405180910390f35b61048e610e22565b60405180821515815260200191505060405180910390f35b610512600480360360608110156104bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e35565b60405180821515815260200191505060405180910390f35b61056c6004803603602081101561054057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d2565b005b6105766113d7565b604051808260ff16815260200191505060405180910390f35b6105976113ee565b604051808260ff16815260200191505060405180910390f35b6105b8611401565b6040518082815260200191505060405180910390f35b6105d6611407565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106306004803603602081101561061857600080fd5b8101908080351515906020019092919050505061142d565b005b6106746004803603602081101561064857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150b565b604051808381526020018281526020019250505060405180910390f35b61069961152f565b6040518082815260200191505060405180910390f35b6106b7611535565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610725600480360360208110156106f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061155b565b6040518082815260200191505060405180910390f35b61077d6004803603602081101561075157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611573565b6040518082815260200191505060405180910390f35b61079b6115db565b6040518082815260200191505060405180910390f35b61081d600480360360608110156107c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115e1565b60405180821515815260200191505060405180910390f35b61083d611921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578082015181840152602081019050610862565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108c06119c3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61092e6004803603602081101561090257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e9565b005b61097c6004803603604081101561094657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aee565b60405180821515815260200191505060405180910390f35b61099c611e37565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109dc5780820151818401526020810190506109c1565b50505050905090810190601f168015610a095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a5960048036036020811015610a2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed5565b005b610a63611fda565b60405180821515815260200191505060405180910390f35b610ad360048036036060811015610a9157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050611fed565b6040518082815260200191505060405180910390f35b610b4b60048036036040811015610aff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612521565b6040518082815260200191505060405180910390f35b610ba360048036036020811015610b7757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125a8565b005b610bad6127c0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610be16127e6565b6040518082815260200191505060405180910390f35b610bff6127ec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c6d60048036036020811015610c4157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612812565b6040518082815260200191505060405180910390f35b60175481565b6007602052816000526040600020602052806000526040600020600091509150505481565b600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d445780601f10610d1957610100808354040283529160200191610d44565b820191906000526020600020905b815481529060010190602001808311610d2757829003601f168201915b505050505081565b600b5481565b6060600f8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dea5780601f10610dbf57610100808354040283529160200191610dea565b820191906000526020600020905b815481529060010190602001808311610dcd57829003601f168201915b5050505050905090565b6000610e08610e0161282a565b8484612832565b6001905092915050565b6000600d54905090565b60155481565b601660019054906101000a900460ff1681565b6000601660009054906101000a900460ff16156111fa57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156111d657610eab84612a29565b610eb6848484612b48565b610f7784610ec261282a565b610f72856040518060600160405280602881526020016135a960289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f2861282a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b612832565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610fed57600080fd5b505af1158015611001573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb734d489ea839a7bb47c4b9ba32ed277afa8a88306760036040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110ad57600080fd5b505af11580156110c1573d6000803e3d6000fd5b505050506040513d60208110156110d757600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb732dc11a0a66810cd9ff57ef5c852284a6e3b394eb60036040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b505050506040513d60208110156111bb57600080fd5b810190808051906020019092919050505050600190506112cb565b6111df84612a29565b6111f16111ea61282a565b8484612b48565b600190506112cb565b611205848484612b48565b6112c68461121161282a565b6112c1856040518060600160405280602881526020016135a960289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061127761282a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b612832565b600190505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601060009054906101000a900460ff16905090565b601060009054906101000a900460ff1681565b600d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601660006101000a81548160ff02191690831515021790555050565b600a6020528060005260406000206000915090508060000154908060010154905082565b60125481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915090505481565b60008061157f83612ec2565b90506115d381600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b915050919050565b60145481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f796f75206e6f7420617574686f7269747900000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006116f486612ec2565b905061174881600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a2848360000154612fd990919063ffffffff16565b82600001819055506117d76015546117c9600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b8260010181905550600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915061182985612ec2565b905061187d81600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d7848360000154612f5190919063ffffffff16565b826000018190555061190c6015546118fe600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b82600101819055506001925050509392505050565b6060600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b95780601f1061198e576101008083540402835291602001916119b9565b820191906000526020600020905b81548152906001019060200180831161199c57829003601f168201915b5050505050905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e11576000611c71600d54611c63600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611c1a57600080fd5b505afa158015611c2e573d6000803e3d6000fd5b505050506040513d6020811015611c4457600080fd5b810190808051906020019092919050505061302390919063ffffffff16565b6130a990919063ffffffff16565b90506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820310611df557600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d8ccd0f360036040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050506040513d6020811015611d5c57600080fd5b8101908080519060200190929190505050506003600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611e07611e0061282a565b8585612b48565b6001915050611e31565b611e1a33612a29565b611e2c611e2561282a565b8484612b48565b600190505b92915050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f796f75206e6f7420617574686f7269747900000000000000000000000000000081525060200191505060405180910390fd5b601254600d54111561212f577f51a7f65c6325882f237d4aeb43228179cfad48b868511d508e24b4437a8191376040518080602001828103825260148152602001807f6f76657220746f74616c207570206c696d69742e00000000000000000000000081525060200191505060405180910390a16000905061251a565b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612189601454866130a990919063ffffffff16565b90506121a081600d54612f5190919063ffffffff16565b600d8190555060006121cf60646121c160328561302390919063ffffffff16565b6130a990919063ffffffff16565b905061222381600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601354600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106122f7576122f6600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130f3565b5b600061230288612ec2565b905061235681600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508515612413576123b6878560000154612f5190919063ffffffff16565b84600001819055506123eb6015546123dd600c54876000015461302390919063ffffffff16565b6130a990919063ffffffff16565b846001018190555061240887600b54612f5190919063ffffffff16565b600b81905550612483565b61242a878560000154612fd990919063ffffffff16565b846000018190555061245f601554612451600c54876000015461302390919063ffffffff16565b6130a990919063ffffffff16565b846001018190555061247c87600b54612fd990919063ffffffff16565b600b819055505b61248c826131cb565b7f926683a213f5704409a772ad857ee2929a5b82b1f28900f733ebb3035ebba57c88856000015489600b5487600c548a60010154604051808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390a1505050505b9392505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126d257600080fd5b505afa1580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561278057600080fd5b505af1158015612794573d6000803e3d6000fd5b505050506040513d60208110156127aa57600080fd5b8101908080519060200190929190505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135f66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561293e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135406022913960400191505060405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612a7783612ec2565b9050612acb81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b3b601554612b2d600c54856000015461302390919063ffffffff16565b6130a990919063ffffffff16565b8260010181905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612bce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135d16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061351d6023913960400191505060405180910390fd5b612cc08160405180606001604052806026815260200161356260269139600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e029092919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5581600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5190919063ffffffff16565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612eaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e74578082015181840152602081019050612e59565b50505050905090810190601f168015612ea15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612f498160010154612f3b601554612f2d600c54866000015461302390919063ffffffff16565b6130a990919063ffffffff16565b612fd990919063ffffffff16565b915050919050565b600080828401905083811015612fcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061301b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e02565b905092915050565b60008083141561303657600090506130a3565b600082840290508284828161304757fe5b041461309e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806135886021913960400191505060405180910390fd5b809150505b92915050565b60006130eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613222565b905092915050565b6001601660016101000a81548160ff02191690831515021790555060006131246002836130a990919063ffffffff16565b9050600061313b8284612fd990919063ffffffff16565b9050600047905061314b836132e8565b60006131608247612fd990919063ffffffff16565b90507f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405180848152602001838152602001828152602001935050505060405180910390a1505050506000601660016101000a81548160ff02191690831515021790555050565b6000600b5414156131db5761321f565b613218613207600b546131f96015548561302390919063ffffffff16565b6130a990919063ffffffff16565b600c54612f5190919063ffffffff16565b600c819055505b50565b600080831182906132ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613293578082015181840152602081019050613278565b50505050905090810190601f1680156132c05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816132da57fe5b049050809150509392505050565b6060600267ffffffffffffffff8111801561330257600080fd5b506040519080825280602002602001820160405280156133315781602001602082028036833780820191505090505b509050308160008151811061334257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106133ac57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061341330600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612832565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156134d75780820151818401526020810190506134bc565b505050509050019650505050505050600060405180830381600087803b15801561350057600080fd5b505af1158015613514573d6000803e3d6000fd5b50505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220950cce137b21f9c1bba4aa8af3f2fb64fd429554d18b829d684a28af7c19448564736f6c634300060c0033

Deployed Bytecode Sourcemap

9458:10891:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10948:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10120:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10582:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10449;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12298:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17908:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12580:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10831:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10913:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18085:1109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12093:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12489;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10613:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10520:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9871:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12188:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10394:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;10684:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9557:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10251:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12688:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10788:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16037:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12394:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9948:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11884:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17046:691;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10554:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11986:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10878:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14680:1345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17749:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20165:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9695:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10480:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9587:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10195:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10948:30;;;;:::o;10120:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10582:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10449:::-;;;;:::o;12298:88::-;12335:13;12368:10;12361:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12298:88;:::o;17908:169::-;17991:4;18008:39;18017:12;:10;:12::i;:::-;18031:7;18040:6;18008:8;:39::i;:::-;18065:4;18058:11;;17908:169;;;;:::o;12580:100::-;12633:7;12660:12;;12653:19;;12580:100;:::o;10831:34::-;;;;:::o;10913:28::-;;;;;;;;;;;;;:::o;18085:1109::-;18191:4;18211:16;;;;;;;;;;;18208:979;;;18262:10;;;;;;;;;;;18248:24;;:10;:24;;;18244:701;;;18295:20;18308:6;18295:12;:20::i;:::-;18334:36;18344:6;18352:9;18363:6;18334:9;:36::i;:::-;18389:121;18398:6;18406:12;:10;:12::i;:::-;18420:89;18458:6;18420:89;;;;;;;;;;;;;;;;;:11;:19;18432:6;18420:19;;;;;;;;;;;;;;;:33;18440:12;:10;:12::i;:::-;18420:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18389:8;:121::i;:::-;18539:9;;;;;;;;;;;18529:25;;;18555:2;18529:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18588:9;;;;;;;;;;;18578:29;;;18608:42;18651:1;18578:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18682:9;;;;;;;;;;;18672:29;;;18702:42;18745:1;18672:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18773:4;18766:11;;;;18244:701;18818:20;18831:6;18818:12;:20::i;:::-;18857:42;18867:12;:10;:12::i;:::-;18881:9;18892:6;18857:9;:42::i;:::-;18925:4;18918:11;;;;18208:979;18977:36;18987:6;18995:9;19006:6;18977:9;:36::i;:::-;19028:121;19037:6;19045:12;:10;:12::i;:::-;19059:89;19097:6;19059:89;;;;;;;;;;;;;;;;;:11;:19;19071:6;19059:19;;;;;;;;;;;;;;;:33;19079:12;:10;:12::i;:::-;19059:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19028:8;:121::i;:::-;19171:4;19164:11;;18085:1109;;;;;;:::o;12093:83::-;11694:10;11684:20;;:6;;;;;;;;;;:20;;;11676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12164:4:::1;12153:8;;:15;;;;;;;;;;;;;;;;;;12093:83:::0;:::o;12489:::-;12530:5;12555:9;;;;;;;;;;;12548:16;;12489:83;:::o;10613:22::-;;;;;;;;;;;;;:::o;10520:27::-;;;;:::o;9871:70::-;;;;;;;;;;;;;:::o;12188:98::-;11694:10;11684:20;;:6;;;;;;;;;;:20;;;11676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12273:5:::1;12254:16;;:24;;;;;;;;;;;;;;;;;;12188:98:::0;:::o;10394:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10684:43::-;;;;:::o;9557:23::-;;;;;;;;;;;;;:::o;10251:45::-;;;;;;;;;;;;;;;;;:::o;12688:179::-;12756:7;12776:14;12793:18;12803:7;12793:9;:18::i;:::-;12776:35;;12829:30;12852:6;12829:9;:18;12839:7;12829:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;12822:37;;;12688:179;;;:::o;10788:35::-;;;;:::o;16037:701::-;16137:4;11826:8;;;;;;;;;;;11812:22;;:10;:22;;;11804:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16154:22:::1;16194:10;:18;16205:6;16194:18;;;;;;;;;;;;;;;16187:25;;16223:14;16240:17;16250:6;16240:9;:17::i;:::-;16223:34;;16288:29;16310:6;16288:9;:17;16298:6;16288:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;16268:9;:17;16278:6;16268:17;;;;;;;;;;;;;;;:49;;;;16342:23;16358:6;16342:4;:11;;;:15;;:23;;;;:::i;:::-;16328:4;:11;;:37;;;;16388:47;16422:12;;16388:29;16404:12;;16388:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;16376:4;:9;;:59;;;;16453:10;:21;16464:9;16453:21;;;;;;;;;;;;;;;16446:28;;16494:20;16504:9;16494;:20::i;:::-;16485:29;;16548:32;16573:6;16548:9;:20;16558:9;16548:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16525:9;:20;16535:9;16525:20;;;;;;;;;;;;;;;:55;;;;16605:23;16621:6;16605:4;:11;;;:15;;:23;;;;:::i;:::-;16591:4;:11;;:37;;;;16651:47;16685:12;;16651:29;16667:12;;16651:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;16639:4;:9;;:59;;;;16726:4;16719:11;;;;16037:701:::0;;;;;:::o;12394:87::-;12433:13;12466:7;12459:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12394:87;:::o;9948:66::-;;;;;;;;;;;;;:::o;11884:90::-;11694:10;11684:20;;:6;;;;;;;;;;:20;;;11676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11962:4:::1;11950:9;;:16;;;;;;;;;;;;;;;;;;11884:90:::0;:::o;17046:691::-;17132:4;17167:9;;;;;;;;;;;17153:23;;:10;:23;;;17149:581;;;17194:11;17208:90;17285:12;;17208:72;17258:9;:21;17268:10;17258:21;;;;;;;;;;;;;;;;17218:9;;;;;;;;;;;17208:30;;;17247:4;17208:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:49;;:72;;;;:::i;:::-;:76;;:90;;;;:::i;:::-;17194:104;;17351:1;17322:13;:25;17336:10;17322:25;;;;;;;;;;;;;;;;17316:3;:31;:36;17313:181;;17383:9;;;;;;;;;;;17373:25;;;17399:1;17373:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17477:1;17449:13;:25;17463:10;17449:25;;;;;;;;;;;;;;;;:29;17421:13;:25;17435:10;17421:25;;;;;;;;;;;;;;;:57;;;;17313:181;17508:42;17518:12;:10;:12::i;:::-;17532:9;17543:6;17508:9;:42::i;:::-;17572:4;17565:11;;;;;17149:581;17611:24;17624:10;17611:12;:24::i;:::-;17650:42;17660:12;:10;:12::i;:::-;17674:9;17685:6;17650:9;:42::i;:::-;17714:4;17707:11;;17046:691;;;;;:::o;10554:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11986:95::-;11694:10;11684:20;;:6;;;;;;;;;;:20;;;11676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12065:8:::1;12053:9;;:20;;;;;;;;;;;;;;;;;;11986:95:::0;:::o;10878:28::-;;;;;;;;;;;;;:::o;14680:1345::-;14765:7;11826:8;;;;;;;;;;;11812:22;;:10;:22;;;11804:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14804:13:::1;;14789:12;;:28;14785:120;;;14839:31;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;14892:1;14885:8;;;;14785:120;14925:22;14950:10;:17;14961:5;14950:17;;;;;;;;;;;;;;;14925:42;;14978:24;15005:17;15016:5;;15005:6;:10;;:17;;;;:::i;:::-;14978:44;;15049:34;15066:16;15049:12;;:16;;:34;;;;:::i;:::-;15034:12;:49;;;;15094:12;15109:33;15138:3;15109:24;15130:2;15109:16;:20;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;15094:48;;15180:34;15209:4;15180:9;:24;15198:4;15180:24;;;;;;;;;;;;;;;;:28;;:34;;;;:::i;:::-;15153:9;:24;15171:4;15153:24;;;;;;;;;;;;;;;:61;;;;15258:17;;15230:9;:24;15248:4;15230:24;;;;;;;;;;;;;;;;:45;15227:117;;15292:40;15307:9;:24;15325:4;15307:24;;;;;;;;;;;;;;;;15292:14;:40::i;:::-;15227:117;15356:14;15373:16;15383:5;15373:9;:16::i;:::-;15356:33;;15422:28;15443:6;15422:9;:16;15432:5;15422:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;15403:9;:16;15413:5;15403:16;;;;;;;;;;;;;;;:47;;;;15476:8;15472:405;;;15517:23;15533:6;15517:4;:11;;;:15;;:23;;;;:::i;:::-;15503:4;:11;;:37;;;;15568:47;15602:12;;15568:29;15584:12;;15568:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;15556:4;:9;;:59;;;;15644:21;15658:6;15644:9;;:13;;:21;;;;:::i;:::-;15632:9;:33;;;;15472:405;;;15715:23;15731:6;15715:4;:11;;;:15;;:23;;;;:::i;:::-;15701:4;:11;;:37;;;;15766:47;15800:12;;15766:29;15782:12;;15766:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;15754:4;:9;;:59;;;;15842:21;15856:6;15842:9;;:13;;:21;;;;:::i;:::-;15830:9;:33;;;;15472:405;15887:16;15898:4;15887:10;:16::i;:::-;15930:87;15936:5;15943:4;:11;;;15956:6;15964:9;;15975:16;15993:12;;16007:4;:9;;;15930:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11867:1;;;;;14680:1345:::0;;;;;:::o;17749:151::-;17838:7;17865:11;:18;17877:5;17865:18;;;;;;;;;;;;;;;:27;17884:7;17865:27;;;;;;;;;;;;;;;;17858:34;;17749:151;;;;:::o;20165:181::-;11694:10;11684:20;;:6;;;;;;;;;;:20;;;11676:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20227:16:::1;20253:5;20246:23;;;20278:4;20246:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;20227:57;;20302:5;20295:22;;;20318:10;20329:8;20295:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;11752:1;20165:181:::0;:::o;9695:69::-;;;;;;;;;;;;;:::o;10480:27::-;;;;:::o;9587:24::-;;;;;;;;;;;;;:::o;10195:49::-;;;;;;;;;;;;;;;;;:::o;20047:106::-;20100:15;20135:10;20128:17;;20047:106;:::o;19689:346::-;19808:1;19791:19;;:5;:19;;;;19783:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19889:1;19870:21;;:7;:21;;;;19862:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19973:6;19943:11;:18;19955:5;19943:18;;;;;;;;;;;;;;;:27;19962:7;19943:27;;;;;;;;;;;;;;;:36;;;;20011:7;19995:32;;20004:5;19995:32;;;20020:6;19995:32;;;;;;;;;;;;;;;;;;19689:346;;;:::o;16750:285::-;16808:22;16833:10;:18;16844:6;16833:18;;;;;;;;;;;;;;;16808:43;;16862:14;16879:17;16889:6;16879:9;:17::i;:::-;16862:34;;16927:29;16949:6;16927:9;:17;16937:6;16927:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;16907:9;:17;16917:6;16907:17;;;;;;;;;;;;;;;:49;;;;16980:47;17014:12;;16980:29;16996:12;;16980:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;16968:4;:9;;:59;;;;16750:285;;;:::o;19202:479::-;19326:1;19308:20;;:6;:20;;;;19300:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19410:1;19389:23;;:9;:23;;;;19381:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19485;19507:6;19485:71;;;;;;;;;;;;;;;;;:9;:17;19495:6;19485:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;19465:9;:17;19475:6;19465:17;;;;;;;;;;;;;;;:91;;;;19590:32;19615:6;19590:9;:20;19600:9;19590:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;19567:9;:20;19577:9;19567:20;;;;;;;;;;;;;;;:55;;;;19655:9;19638:35;;19647:6;19638:35;;;19666:6;19638:35;;;;;;;;;;;;;;;;;;19202:479;;;:::o;2521:192::-;2607:7;2640:1;2635;:6;;2643:12;2627:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2667:9;2683:1;2679;:5;2667:17;;2704:1;2697:8;;;2521:192;;;;;:::o;14455:215::-;14511:14;14538:22;14563:10;:17;14574:5;14563:17;;;;;;;;;;;;;;;14538:42;;14600:62;14652:4;:9;;;14600:47;14634:12;;14600:29;14616:12;;14600:4;:11;;;:15;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;:51;;:62;;;;:::i;:::-;14591:71;;14455:215;;;;:::o;2188:181::-;2246:7;2266:9;2282:1;2278;:5;2266:17;;2307:1;2302;:6;;2294:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2360:1;2353:8;;;2188:181;;;;:::o;2377:136::-;2435:7;2462:43;2466:1;2469;2462:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2455:50;;2377:136;;;;:::o;2721:250::-;2779:7;2808:1;2803;:6;2799:47;;;2833:1;2826:8;;;;2799:47;2858:9;2874:1;2870;:5;2858:17;;2903:1;2898;2894;:5;;;;;;:10;2886:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2962:1;2955:8;;;2721:250;;;;;:::o;2979:132::-;3037:7;3064:39;3068:1;3071;3064:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3057:46;;2979:132;;;;:::o;13529:428::-;13143:4;13124:16;;:23;;;;;;;;;;;;;;;;;;13624:12:::1;13639:27;13664:1;13639:20;:24;;:27;;;;:::i;:::-;13624:42;;13677:17;13697:30;13722:4;13697:20;:24;;:30;;;;:::i;:::-;13677:50;;13738:22;13763:21;13738:46;;13795:22;13812:4;13795:16;:22::i;:::-;13828:18;13849:41;13875:14;13849:21;:25;;:41;;;;:::i;:::-;13828:62;;13906:43;13921:4;13927:10;13939:9;13906:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13158:1;;;;13189:5:::0;13170:16;;:24;;;;;;;;;;;;;;;;;;13529:428;:::o;12879:201::-;12952:1;12939:9;;:14;12935:53;;;12970:7;;12935:53;13013:57;13030:39;13059:9;;13030:24;13041:12;;13030:6;:10;;:24;;;;:::i;:::-;:28;;:39;;;;:::i;:::-;13013:12;;:16;;:57;;;;:::i;:::-;12998:12;:72;;;;12879:201;;:::o;3119:189::-;3205:7;3237:1;3233;:5;3240:12;3225:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3264:9;3280:1;3276;:5;;;;;;3264:17;;3299:1;3292:8;;;3119:189;;;;;:::o;13965:478::-;14041:21;14079:1;14065:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14041:40;;14110:4;14092;14097:1;14092:7;;;;;;;;;;;;;:23;;;;;;;;;;;14136:5;;;;;;;;;;;14126:4;14131:1;14126:7;;;;;;;;;;;;;:15;;;;;;;;;;;14154:48;14171:4;14178:10;;;;;;;;;;;14190:11;14154:8;:48::i;:::-;14242:10;;;;;;;;;;;14223:81;;;14319:11;14345:1;14362:4;14389;14409:15;14223:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13965:478;;:::o

Swarm Source

ipfs://950cce137b21f9c1bba4aa8af3f2fb64fd429554d18b829d684a28af7c194485

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  ]

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.