POL Price: $0.211342 (-0.21%)
Gas: 35 GWei
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo238.417230650489418494 POL

POL Value

$50.39 (@ $0.21/POL)

Token Holdings

More Info

Private Name Tags

TokenTracker

Energy8 (E8) (@$0.00)

Multichain Info

Transaction Hash
Method
Block
From
To
Approve692139902025-03-18 21:11:085 hrs ago1742332268IN
Energy8: E8 Token
0 POL0.001858339.90000002
Approve692139902025-03-18 21:11:085 hrs ago1742332268IN
Energy8: E8 Token
0 POL0.001858339.90000002
Approve692108582025-03-18 19:20:027 hrs ago1742325602IN
Energy8: E8 Token
0 POL0.0013889430.00000002
Approve692106822025-03-18 19:13:487 hrs ago1742325228IN
Energy8: E8 Token
0 POL0.0013871430.00000003
Approve691988382025-03-18 12:05:2814 hrs ago1742299528IN
Energy8: E8 Token
0 POL0.0013950630
Transfer691626552025-03-17 14:23:3036 hrs ago1742221410IN
Energy8: E8 Token
0 POL0.0064586877.66298627
Approve691568972025-03-17 10:55:2940 hrs ago1742208929IN
Energy8: E8 Token
0 POL0.000728730.00000137
Approve691326582025-03-16 20:26:412 days ago1742156801IN
Energy8: E8 Token
0 POL0.0013885830.00000002
Approve691294252025-03-16 18:29:442 days ago1742149784IN
Energy8: E8 Token
0 POL0.0014458459.52428582
Approve691294232025-03-16 18:29:382 days ago1742149778IN
Energy8: E8 Token
0 POL0.0014451359.52428583
Approve691259162025-03-16 16:23:432 days ago1742142223IN
Energy8: E8 Token
0 POL0.0022144247.62
Approve691154302025-03-16 10:11:522 days ago1742119912IN
Energy8: E8 Token
0 POL0.0013885830.00000003
Approve690875102025-03-15 17:35:353 days ago1742060135IN
Energy8: E8 Token
0 POL0.0013950630
Transfer690870042025-03-15 17:17:393 days ago1742059059IN
Energy8: E8 Token
0 POL0.0041093628
Transfer690850792025-03-15 16:08:373 days ago1742054917IN
Energy8: E8 Token
0 POL0.0031580540.30652584
Transfer690671212025-03-15 5:24:123 days ago1742016252IN
Energy8: E8 Token
0 POL0.0024948930.00000027
Transfer690671002025-03-15 5:23:263 days ago1742016206IN
Energy8: E8 Token
0 POL0.0030078930.00000025
Transfer690670762025-03-15 5:22:363 days ago1742016156IN
Energy8: E8 Token
0 POL0.0024948930.00000019
Transfer690506762025-03-14 19:40:074 days ago1741981207IN
Energy8: E8 Token
0 POL0.0023550730.05344626
Transfer690506572025-03-14 19:39:274 days ago1741981167IN
Energy8: E8 Token
0 POL0.0028700630.06090248
Approve690468542025-03-14 17:24:454 days ago1741973085IN
Energy8: E8 Token
0 POL0.0023041749.55
Transfer690458582025-03-14 16:49:294 days ago1741970969IN
Energy8: E8 Token
0 POL0.0047637260.79048592
Transfer690456592025-03-14 16:42:254 days ago1741970545IN
Energy8: E8 Token
0 POL0.0046649359.52076242
Transfer690453732025-03-14 16:32:174 days ago1741969937IN
Energy8: E8 Token
0 POL0.0045401454.5933403
Transfer690453552025-03-14 16:31:394 days ago1741969899IN
Energy8: E8 Token
0 POL0.0057723557.57905108
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
206027842021-10-25 17:25:151240 days ago1635182715
Energy8: E8 Token
0.21334309 POL
206027842021-10-25 17:25:151240 days ago1635182715
Energy8: E8 Token
0.21334309 POL
206015292021-10-25 16:38:321240 days ago1635179912
Energy8: E8 Token
0.0687676 POL
206015292021-10-25 16:38:321240 days ago1635179912
Energy8: E8 Token
0.0687676 POL
206014502021-10-25 16:35:501240 days ago1635179750
Energy8: E8 Token
0.23323153 POL
206014502021-10-25 16:35:501240 days ago1635179750
Energy8: E8 Token
0.23323153 POL
205974832021-10-25 13:57:301240 days ago1635170250
Energy8: E8 Token
0.18176083 POL
205974832021-10-25 13:57:301240 days ago1635170250
Energy8: E8 Token
0.18176083 POL
205973142021-10-25 13:50:161240 days ago1635169816
Energy8: E8 Token
0.07942967 POL
205973142021-10-25 13:50:161240 days ago1635169816
Energy8: E8 Token
0.07942967 POL
205973142021-10-25 13:50:161240 days ago1635169816
Energy8: E8 Token
5.70607589 POL
205973142021-10-25 13:50:161240 days ago1635169816
Energy8: E8 Token
5.70607589 POL
205911642021-10-25 9:45:431240 days ago1635155143
Energy8: E8 Token
0.10553665 POL
205911642021-10-25 9:45:431240 days ago1635155143
Energy8: E8 Token
0.10553665 POL
205842642021-10-25 5:16:321240 days ago1635138992
Energy8: E8 Token
0.70901368 POL
205842642021-10-25 5:16:321240 days ago1635138992
Energy8: E8 Token
0.70901368 POL
205676062021-10-24 17:09:491241 days ago1635095389
Energy8: E8 Token
0.10068297 POL
205676062021-10-24 17:09:491241 days ago1635095389
Energy8: E8 Token
0.10068297 POL
205635212021-10-24 14:19:091241 days ago1635085149
Energy8: E8 Token
0.46763238 POL
205635212021-10-24 14:19:091241 days ago1635085149
Energy8: E8 Token
0.46763238 POL
205597722021-10-24 12:03:101241 days ago1635076990
Energy8: E8 Token
0.5650503 POL
205597722021-10-24 12:03:101241 days ago1635076990
Energy8: E8 Token
0.5650503 POL
205336782021-10-23 19:42:271242 days ago1635018147
Energy8: E8 Token
0.17725908 POL
205336782021-10-23 19:42:271242 days ago1635018147
Energy8: E8 Token
0.17725908 POL
205330912021-10-23 19:20:091242 days ago1635016809
Energy8: E8 Token
1.79788682 POL
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Energy8

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 1337 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-06-29
*/

pragma solidity >=0.6.0 <0.8.0;

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
  address private _owner;

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

  constructor () {
    _owner = _msgSender();
    emit OwnershipTransferred(address(0), _msgSender());
  }

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

  modifier onlyOwner() {
    require(_owner == _msgSender(), "-_-");
    _;
  }

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

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 IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Energy8 is Context, Ownable, IERC20 {
  using SafeMath for uint256;
  mapping (address => mapping (address => uint256)) private _allowances;
  mapping (address => uint256) private _balances;
  mapping (address => uint256) private _startPeriodBalances;
  mapping (address => uint256) private _spentDuringPeriod;
  mapping (address => uint256) private _periodStartTime;
  mapping (address => bool) private _whitelist;
  mapping (address => bool) private _feeWhitelist;
  mapping (address => bool) private _blacklist;
  mapping (address => string) private _blacklistReasons;
  mapping (address => bool) private _sellers;
  mapping (address => bool) public admins;

  string private _name = "Energy8";
  string private _symbol = "E8";

  uint8 private _decimals = 9;
  uint256 private _totalSupply = 100000000000000 * 10**_decimals; // 100 000 000 000 000
  uint256 public periodDuration = 1 days;
  uint256 public minTokensForLiquidityGeneration = _totalSupply / 1000000; // 0.001% of total supply
  
  /*
    10000 - 100%
    1000 - 10%
    100 - 1%
    10 - 0.1%
    1 - 0.01%
  */
  // fees
  uint16 public fee = 0; // transfer fee 0%
  uint16 public buyFee = 0;  // buy fee 0%
  uint16 public sellFee = 0; // sell fee 0%
  uint16 public liquidityFee = 0; // transfer liquidity fee 0%
  uint16 public sellLiquidityFee = 600; // sell liquidity fee 6%
  uint16 public buyLiquidityFee = 500; // buy liquidity fee 5%
  uint16 public marketingFee = 200; // marketing fee 2%
  
  address public marketingWallet;
  address public feeWallet;
  
  uint16 public maxTransferPercent = 3000; // 30%
  uint16 public maxHodlPercent = 100; // 1%
  
  // AMM addresses
  IRouter public router;
  address public pair;
  address private mainTokenInPair;
  
  address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
  
  modifier onlyAdmin() {
    require(admins[_msgSender()], "Who are you?");
    _;
  }
  
  bool private isLocked;

  modifier lock {
    isLocked = true;
    _;
    isLocked = false;
  }

  constructor(IRouter _router) {
    _balances[_msgSender()] = _totalSupply;
    
    mainTokenInPair = _router.WETH();
    
    pair = IFactory(_router.factory()).createPair(address(this), mainTokenInPair);
    
    // add owner and this contract to the whitelist for disable transfer limitations and fees
    _whitelist[_msgSender()] = true;
    _whitelist[address(this)] = true;
    _feeWhitelist[_msgSender()] = true;
    _feeWhitelist[address(this)] = true;

    _sellers[pair] = true;
    _sellers[address(_router)] = true;
    
    router = _router;
    
    marketingWallet = _msgSender();
    feeWallet = DEAD;

    admins[_msgSender()] = true;
    
    emit Transfer(address(0), _msgSender(), _totalSupply);
  }

  function getOwner() external view returns (address) {
    return owner();
  }

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

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

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

  function totalSupply() external view override returns (uint256) {
    return _totalSupply;
  }
  
  function balanceOf(address account) external view override returns (uint256) {
    return _balances[account];
  }

  function transfer(address recipient, uint256 amount) external override returns (bool) {
    _transfer(_msgSender(), recipient, amount);
    return true;
  }

  function allowance(address owner, address spender) external view override returns (uint256) {
    return _allowances[owner][spender];
  }

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

  function transferFrom (address sender, address recipient, uint256 amount) public override returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, 'BEP20: transfer amount exceeds allowance'));
    return true;
  }
  
  function _approve(address owner, address spender, uint256 amount) internal {
    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);
  }
  
  receive() external payable {}

  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");
    require(sender != recipient, "ERC20: The sender cannot be the recipient");
    require(amount != 0, "ERC20: Transfer amount must be greater than zero");
    require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");
    
    uint256 amountWithFee = amount;

    uint256 liquidityFeeInTokens;
    uint256 marketingFeeInTokens;
    uint256 feeInTokens;

    // buy tokens
    if (_sellers[sender]) {
      if (!_feeWhitelist[recipient]) {
        liquidityFeeInTokens = _getPercentage(amount, buyLiquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, buyFee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[recipient]) {
        _checkHodlPercent(recipient, amountWithFee, "You cannot hold this amount of tokens. Looks like you are already a whale!");
      }
    // sell tokens
    } else if (_sellers[recipient]) {
      require(!_blacklist[sender], _blacklistReasons[sender]);

      if (!_feeWhitelist[sender]) {
        liquidityFeeInTokens = _getPercentage(amount, sellLiquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, sellFee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[sender]) {
        _checkAndUpdatePeriod(sender, amount, "You can not sell this amount of tokens for the current period. Just relax and wait");
      }
    // transfer tokens between addresses
    } else {
      require(!_blacklist[sender] && !_blacklist[_msgSender()], _blacklistReasons[sender]);

      if (!_feeWhitelist[sender] && !_feeWhitelist[_msgSender()]) {
        liquidityFeeInTokens = _getPercentage(amount, liquidityFee);
        marketingFeeInTokens = _getPercentage(amount, marketingFee);
        feeInTokens = _getPercentage(amount, fee);
        amountWithFee = amountWithFee.sub(marketingFeeInTokens).sub(feeInTokens).sub(liquidityFeeInTokens);
      }
      
      if (!_whitelist[recipient] && !_whitelist[_msgSender()]) {
        _checkHodlPercent(recipient, amountWithFee, "Recipient cannot hold this amount of tokens. Looks like he's already a whale!");
      }
      
      if (!_whitelist[sender] && !_whitelist[_msgSender()]) {
        _checkAndUpdatePeriod(sender, amount, "You can not transfer this amount of tokens for the current period. Just relax and wait");
      }
    }
    
    if (marketingFeeInTokens > 0) {
        _balances[marketingWallet] = _balances[marketingWallet].add(marketingFeeInTokens);
        emit Transfer(sender, marketingWallet, marketingFeeInTokens);
    }
    
    if (feeInTokens > 0) {
        _balances[feeWallet] = _balances[feeWallet].add(feeInTokens);
        emit Transfer(sender, feeWallet, feeInTokens);
    }

    if (liquidityFeeInTokens > 0) {
        uint256 contractTokenBalance = _balances[address(this)].add(liquidityFeeInTokens);

        _balances[address(this)] = contractTokenBalance;
        emit Transfer(sender, address(this), liquidityFeeInTokens);
        
        if (
          !isLocked &&
          sender != pair &&
          contractTokenBalance >= minTokensForLiquidityGeneration
        ) {
            generateLiquidity(contractTokenBalance);
        }
    }
    
    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amountWithFee);

    emit Transfer(sender, recipient, amountWithFee);
  }
  
  function generateLiquidity() external {
      generateLiquidity(_balances[address(this)]);
  }
  
  function generateLiquidity(uint256 amount) internal lock {
    uint256 tokensForSell = amount.div(2);
    uint256 tokensForLiquidity = amount.sub(tokensForSell);

    uint256 initialBalance = address(this).balance;

    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = mainTokenInPair;
    
    _approve(address(this), address(router), amount);

    router.swapExactTokensForETHSupportingFeeOnTransferTokens(
        tokensForSell,
        0, // accept any amount
        path,
        address(this),
        block.timestamp
    );

    uint256 balance = address(this).balance.sub(initialBalance);

    router.addLiquidityETH{value: balance}(
        address(this),
        tokensForLiquidity,
        0, // slippage is unavoidable
        0, // slippage is unavoidable
        DEAD,
        block.timestamp
    );
  }
  
  function _checkAndUpdatePeriod(address account, uint256 amount, string memory errorMessage) internal {
    bool _isPeriodEnd = block.timestamp > (_periodStartTime[account] + periodDuration);

    if (_isPeriodEnd) {
        _periodStartTime[account] = block.timestamp;
        _startPeriodBalances[account] = _balances[account];
        _spentDuringPeriod[account] = 0;
    }

    uint256 newSpentDuringPeriod = _spentDuringPeriod[account] + amount;
    uint256 accountCanSpent = _getPercentage(_startPeriodBalances[account], maxTransferPercent);
    
    require(newSpentDuringPeriod <= accountCanSpent, errorMessage);
    
    _spentDuringPeriod[account] = newSpentDuringPeriod;
  }
  
  function _checkHodlPercent(address account, uint256 amount, string memory erorrMessage) internal view {
    uint256 oneAccountCanHodl = _getPercentage(_totalSupply, maxHodlPercent);

    require((_balances[account] + amount) <= oneAccountCanHodl, erorrMessage);
  }
  
  function setSeller(address account, bool value) external onlyAdmin {
    _sellers[account] = value;
  }
  
  function setWhitelist(address account, bool value) external onlyAdmin {
    _whitelist[account] = value;
  }
  
  function setFeeWhitelist(address account, bool value) external onlyAdmin {
    _feeWhitelist[account] = value;
  }
  
  function setBlacklist(address account, bool value, string memory reason) external onlyAdmin {
    _blacklist[account] = value;
    _blacklistReasons[account] = reason;
  }
  
  function setAdmin(address account, bool value) external onlyOwner {
    admins[account] = value;
  }
  
  function setMaxHodlPercent(uint16 percent) external onlyAdmin {
    require(percent > 0 && percent <= 10000); // >0% - 100%
    maxHodlPercent = percent;
  }
  
  function setMaxTransferPercent(uint16 percent) external onlyAdmin {
    require(percent >= 100 && percent <= 10000); // 1% - 100%
    maxTransferPercent = percent;
  }
  
  function setPeriodDuration(uint time) external onlyAdmin {
    require(time <= 14 days);
    periodDuration = time;
  }
  
  function setRouter(IRouter _router) external onlyOwner {
      router = _router;
  }
  
  function setPair(address _pair) external onlyOwner {
      pair = _pair;
  }
  
  function setMainTokenInPair(address token) external onlyOwner {
      mainTokenInPair = token;
  }
  
  function setMinTokensForLiquidityGeneration(uint256 amount) external onlyOwner {
      minTokensForLiquidityGeneration = amount;
  }
  
  function setTaxFees(uint16 _fee, uint16 _buyFee, uint16 _sellFee) external onlyOwner {
    require(
        _fee <= 1000 && // 0% - 10%
        _buyFee <= 1000 && // 0% - 10%
        _sellFee <= 1000 // 0% - 10%
    );
    fee = _fee;
    buyFee = _buyFee;
    sellFee = _sellFee;
  }
  
  function setLiquidityFees(uint16 _liquidityFee, uint16 _buyLiquidityFee, uint16 _sellLiquidityFee) public onlyOwner {
    require(
        _liquidityFee <= 1000 && // 0% - 10%
        _buyLiquidityFee <= 1000 && // 0% - 10%
        _sellLiquidityFee <= 1000 // 0% - 10%
    );
    liquidityFee = _liquidityFee;
    buyLiquidityFee = _buyLiquidityFee;
    sellLiquidityFee = _sellLiquidityFee;
  }
  
  function setMarketingFee(uint16 _marketingFee) external onlyOwner {
    require(_marketingFee <= 250); // 0% - 2.5%
    marketingFee = _marketingFee;
  }
  
  function setMarketingWallet(address _marketingWallet) external onlyOwner {
    require(_marketingWallet != feeWallet);
    marketingWallet = _marketingWallet;
  }

  function setFeeWallet(address _feeWallet) external onlyOwner {
    require(_feeWallet != owner() && _feeWallet != marketingWallet);
    feeWallet = _feeWallet;
  }
  
  function disableLiquidityGeneration() external onlyOwner {
    setLiquidityFees(0, 0, 0);
  }
  
  function isSeller(address account) external view returns (bool) {
      return _sellers[account];
  }
  
  function isWhitelisted(address account) external view returns (bool) {
      return _whitelist[account];
  }
  
  function isExcludedFromFee(address account) external view returns (bool) {
      return _feeWhitelist[account];
  }
  
  function isBlacklisted(address account) external view returns (bool) {
      return _blacklist[account];
  }
  
  function blacklistReason(address account) external view returns (string memory) {
      return _blacklistReasons[account];
  }
  
  function getAccountPeriodInfo(address account) external view returns (uint256 startBalance, uint256 startTime, uint256 spent) {
      startBalance = _startPeriodBalances[account];
      startTime = _periodStartTime[account];
      spent = _spentDuringPeriod[account];
  }
  
  function _getPercentage(uint256 number, uint16 percent) internal pure returns (uint256) {
    return (number * percent) / 10000;
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklistReason","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableLiquidityGeneration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"generateLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountPeriodInfo","outputs":[{"internalType":"uint256","name":"startBalance","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"spent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHodlPercent","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferPercent","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensForLiquidityGeneration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeWallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_liquidityFee","type":"uint16"},{"internalType":"uint16","name":"_buyLiquidityFee","type":"uint16"},{"internalType":"uint16","name":"_sellLiquidityFee","type":"uint16"}],"name":"setLiquidityFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setMainTokenInPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_marketingFee","type":"uint16"}],"name":"setMarketingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"percent","type":"uint16"}],"name":"setMaxHodlPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"percent","type":"uint16"}],"name":"setMaxTransferPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinTokensForLiquidityGeneration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setPeriodDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setSeller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"},{"internalType":"uint16","name":"_buyFee","type":"uint16"},{"internalType":"uint16","name":"_sellFee","type":"uint16"}],"name":"setTaxFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600760808190526608adccae4cef2760cb1b60a09081526200002a91600c91906200050f565b506040805180820190915260028082526108a760f31b60209092019182526200005691600d916200050f565b50600e8054600960ff19909116179081905560ff16600a0a655af3107a400002600f81905562015180601055620f42409004601155601280546001600160501b03191669025800000000000000001761ffff60501b1916607d60521b1761ffff60601b19166cc80000000000000000000000001790556014805461ffff60a01b191661017760a31b1761ffff60b01b1916601960b21b179055348015620000fc57600080fd5b50604051620036ab380380620036ab833981810160405260208110156200012257600080fd5b50516200012e6200050b565b600080546001600160a01b0319166001600160a01b0392909216919091179055620001586200050b565b6001600160a01b031660006001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600f5460026000620001a96200050b565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550806001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d60208110156200023357600080fd5b5051601780546001600160a01b0319166001600160a01b039283161790556040805163c45a015560e01b815290519183169163c45a015591600480820192602092909190829003018186803b1580156200028c57600080fd5b505afa158015620002a1573d6000803e3d6000fd5b505050506040513d6020811015620002b857600080fd5b5051601754604080516364e329cb60e11b81523060048201526001600160a01b0392831660248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200031057600080fd5b505af115801562000325573d6000803e3d6000fd5b505050506040513d60208110156200033c57600080fd5b5051601680546001600160a01b0319166001600160a01b039092169190911790556001600660006200036d6200050b565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252812080549092166001908117909255600790620003bd6200050b565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007845282812080548616600190811790915560165483168252600a90945282812080548616851790559085168082529190208054909316909117909155601580546001600160a01b0319169091179055620004496200050b565b601380546001600160a01b03929092166001600160a01b03199283161790556014805490911661dead1790556001600b6000620004856200050b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620004b76200050b565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a350620005bb565b3390565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000547576000855562000592565b82601f106200056257805160ff191683800117855562000592565b8280016001018555821562000592579182015b828111156200059257825182559160200191906001019062000575565b50620005a0929150620005a4565b5090565b5b80821115620005a05760008155600101620005a5565b6130e080620005cb6000396000f3fe60806040526004361061034e5760003560e01c806375f0a874116101bb578063c0d78655116100f7578063f1b30dea11610095578063f3b27b781161006f578063f3b27b7814610c88578063f637434214610cb2578063f887ea4014610cc7578063fe575a8714610cdc57610355565b8063f1b30dea14610c00578063f25f4b5614610c40578063f2fde38b14610c5557610355565b8063ddca3f43116100d1578063ddca3f4314610b68578063e29983c514610b7d578063ee95feaf14610bb8578063f11a24d314610beb57610355565b8063c0d7865514610aa9578063dc946bd314610adc578063dd62ed3e14610b2d57610355565b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610a18578063a9059cbb14610a2d578063b1baa81d14610a66578063b470aade14610a9457610355565b806395d89b41146109b357806397576786146109c857806398118cb414610a0357610355565b8063893d20e811610195578063893d20e8146109565780638da5cb5b1461096b57806390d49b9d1461098057610355565b806375f0a874146108c85780637c2d6e01146108f95780638187f5161461092357610355565b8063438f2e8b1161028a57806353d6fd59116102335780636abcca041161020d5780636abcca041461082b5780636ae1fbb51461086b5780636b67c4df1461088057806370a082311461089557610355565b806353d6fd59146107a8578063547bc05d146107e35780635d098b38146107f857610355565b806347e5b3041161026457806347e5b304146107075780634b0bddd21461073a5780635342acb41461077557610355565b8063438f2e8b1461069157806343d79670146106bf57806347062402146106f257610355565b8063245aa1e9116102f7578063313ce567116102d1578063313ce567146105eb5780633af32abf146106165780633d6dfa1e14610649578063429b62e51461065e57610355565b8063245aa1e9146105955780632b14ca56146105c15780632c3255c3146105d657610355565b806309fd64191161032857806309fd6419146104fd57806318160ddd1461052b57806323b872dd1461055257610355565b806304f140901461035a57806306fdde0314610426578063095ea7b3146104b057610355565b3661035557005b600080fd5b34801561036657600080fd5b506104246004803603606081101561037d57600080fd5b6001600160a01b038235169160208101351515918101906060810160408201356401000000008111156103af57600080fd5b8201836020820111156103c157600080fd5b803590602001918460018302840111640100000000831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d0f945050505050565b005b34801561043257600080fd5b5061043b610dba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047557818101518382015260200161045d565b50505050905090810190601f1680156104a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bc57600080fd5b506104e9600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610e50565b604080519115158252519081900360200190f35b34801561050957600080fd5b506104246004803603602081101561052057600080fd5b503561ffff16610e6d565b34801561053757600080fd5b50610540610f14565b60408051918252519081900360200190f35b34801561055e57600080fd5b506104e96004803603606081101561057557600080fd5b506001600160a01b03813581169160208101359091169060400135610f1a565b3480156105a157600080fd5b506105aa610fa1565b6040805161ffff9092168252519081900360200190f35b3480156105cd57600080fd5b506105aa610fb2565b3480156105e257600080fd5b50610424610fc4565b3480156105f757600080fd5b50610600610fdf565b6040805160ff9092168252519081900360200190f35b34801561062257600080fd5b506104e96004803603602081101561063957600080fd5b50356001600160a01b0316610fe8565b34801561065557600080fd5b50610540611006565b34801561066a57600080fd5b506104e96004803603602081101561068157600080fd5b50356001600160a01b031661100c565b34801561069d57600080fd5b50610424600480360360208110156106b457600080fd5b503561ffff16611021565b3480156106cb57600080fd5b50610424600480360360208110156106e257600080fd5b50356001600160a01b03166110e9565b3480156106fe57600080fd5b506105aa611168565b34801561071357600080fd5b5061043b6004803603602081101561072a57600080fd5b50356001600160a01b0316611178565b34801561074657600080fd5b506104246004803603604081101561075d57600080fd5b506001600160a01b0381351690602001351515611223565b34801561078157600080fd5b506104e96004803603602081101561079857600080fd5b50356001600160a01b031661129e565b3480156107b457600080fd5b50610424600480360360408110156107cb57600080fd5b506001600160a01b03813516906020013515156112bc565b3480156107ef57600080fd5b506105aa611350565b34801561080457600080fd5b506104246004803603602081101561081b57600080fd5b50356001600160a01b0316611361565b34801561083757600080fd5b506104246004803603606081101561084e57600080fd5b5061ffff81358116916020810135821691604090910135166113fb565b34801561087757600080fd5b506104246114c4565b34801561088c57600080fd5b506105aa611521565b3480156108a157600080fd5b50610540600480360360208110156108b857600080fd5b50356001600160a01b031661153b565b3480156108d457600080fd5b506108dd611556565b604080516001600160a01b039092168252519081900360200190f35b34801561090557600080fd5b506104246004803603602081101561091c57600080fd5b5035611565565b34801561092f57600080fd5b506104246004803603602081101561094657600080fd5b50356001600160a01b03166115e3565b34801561096257600080fd5b506108dd611662565b34801561097757600080fd5b506108dd611671565b34801561098c57600080fd5b50610424600480360360208110156109a357600080fd5b50356001600160a01b0316611680565b3480156109bf57600080fd5b5061043b61173f565b3480156109d457600080fd5b50610424600480360360408110156109eb57600080fd5b506001600160a01b03813516906020013515156117a0565b348015610a0f57600080fd5b506105aa611834565b348015610a2457600080fd5b506108dd611848565b348015610a3957600080fd5b506104e960048036036040811015610a5057600080fd5b506001600160a01b038135169060200135611857565b348015610a7257600080fd5b5061042460048036036020811015610a8957600080fd5b503561ffff1661186b565b348015610aa057600080fd5b50610540611934565b348015610ab557600080fd5b5061042460048036036020811015610acc57600080fd5b50356001600160a01b031661193a565b348015610ae857600080fd5b50610b0f60048036036020811015610aff57600080fd5b50356001600160a01b03166119b9565b60408051938452602084019290925282820152519081900360600190f35b348015610b3957600080fd5b5061054060048036036040811015610b5057600080fd5b506001600160a01b03813581169160200135166119eb565b348015610b7457600080fd5b506105aa611a16565b348015610b8957600080fd5b5061042460048036036040811015610ba057600080fd5b506001600160a01b0381351690602001351515611a20565b348015610bc457600080fd5b506104e960048036036020811015610bdb57600080fd5b50356001600160a01b0316611ab4565b348015610bf757600080fd5b506105aa611ad2565b348015610c0c57600080fd5b5061042460048036036060811015610c2357600080fd5b5061ffff8135811691602081013582169160409091013516611aea565b348015610c4c57600080fd5b506108dd611bed565b348015610c6157600080fd5b5061042460048036036020811015610c7857600080fd5b50356001600160a01b0316611bfc565b348015610c9457600080fd5b5061042460048036036020811015610cab57600080fd5b5035611cb4565b348015610cbe57600080fd5b506105aa611d09565b348015610cd357600080fd5b506108dd611d1f565b348015610ce857600080fd5b506104e960048036036020811015610cff57600080fd5b50356001600160a01b0316611d2e565b600b6000610d1b611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16610d78576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600860209081526040808320805460ff1916861515179055600982529091208251610db492840190612d95565b50505050565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b6000610e64610e5d611d4c565b8484611d50565b50600192915050565b610e75611d4c565b6000546001600160a01b03908116911614610ebd576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b60fa8161ffff161115610ecf57600080fd5b6012805461ffff9092166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff909216919091179055565b600f5490565b6000610f27848484611e3c565b610f9784610f33611d4c565b610f9285604051806060016040528060288152602001612ff0602891396001600160a01b038a16600090815260016020526040812090610f71611d4c565b6001600160a01b031681526020810191909152604001600020549190612756565b611d50565b5060019392505050565b601454600160b01b900461ffff1681565b601254640100000000900461ffff1681565b30600090815260026020526040902054610fdd906127ed565b565b600e5460ff1690565b6001600160a01b031660009081526006602052604090205460ff1690565b60115481565b600b6020526000908152604090205460ff1681565b600b600061102d611d4c565b6001600160a01b0316815260208101919091526040016000205460ff1661108a576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60008161ffff161180156110a457506127108161ffff1611155b6110ad57600080fd5b6014805461ffff909216600160b01b027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6110f1611d4c565b6000546001600160a01b03908116911614611139576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6017805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60125462010000900461ffff1681565b6001600160a01b03811660009081526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156112175780601f106111ec57610100808354040283529160200191611217565b820191906000526020600020905b8154815290600101906020018083116111fa57829003601f168201915b50505050509050919050565b61122b611d4c565b6000546001600160a01b03908116911614611273576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600b60006112c8611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611325576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b601454600160a01b900461ffff1681565b611369611d4c565b6000546001600160a01b039081169116146113b1576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6014546001600160a01b03828116911614156113cc57600080fd5b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611403611d4c565b6000546001600160a01b0390811691161461144b576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff161115801561146757506103e88261ffff1611155b801561147957506103e88161ffff1611155b61148257600080fd5b6012805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6114cc611d4c565b6000546001600160a01b03908116911614611514576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b610fdd6000806000611aea565b6012546c01000000000000000000000000900461ffff1681565b6001600160a01b031660009081526002602052604090205490565b6013546001600160a01b031681565b600b6000611571611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166115ce576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b621275008111156115de57600080fd5b601055565b6115eb611d4c565b6000546001600160a01b03908116911614611633576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061166c611671565b905090565b6000546001600160a01b031690565b611688611d4c565b6000546001600160a01b039081169116146116d0576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6116d8611671565b6001600160a01b0316816001600160a01b03161415801561170757506013546001600160a01b03828116911614155b61171057600080fd5b6014805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b600b60006117ac611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611809576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6012546601000000000000900461ffff1681565b6016546001600160a01b031681565b6000610e64611864611d4c565b8484611e3c565b600b6000611877611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166118d4576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60648161ffff16101580156118ef57506127108161ffff1611155b6118f857600080fd5b6014805461ffff909216600160a01b027fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60105481565b611942611d4c565b6000546001600160a01b0390811691161461198a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0316600090815260036020908152604080832054600583528184205460049093529220549192909190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60125461ffff1681565b600b6000611a2c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611a89576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03166000908152600a602052604090205460ff1690565b6012546a0100000000000000000000900461ffff1681565b611af2611d4c565b6000546001600160a01b03908116911614611b3a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff1611158015611b5657506103e88261ffff1611155b8015611b6857506103e88161ffff1611155b611b7157600080fd5b6012805467ffff0000000000001916660100000000000061ffff95861602177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff166a0100000000000000000000938516939093029290921769ffff00000000000000001916680100000000000000009190931602919091179055565b6014546001600160a01b031681565b611c04611d4c565b6000546001600160a01b03908116911614611c4c576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611cbc611d4c565b6000546001600160a01b03908116911614611d04576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b601155565b60125468010000000000000000900461ffff1681565b6015546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b3390565b6001600160a01b038316611d955760405162461bcd60e51b81526004018080602001828103825260248152602001806130876024913960400191505060405180910390fd5b6001600160a01b038216611dda5760405162461bcd60e51b8152600401808060200182810382526022815260200180612edc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611e815760405162461bcd60e51b81526004018080602001828103825260258152602001806130626025913960400191505060405180910390fd5b6001600160a01b038216611ec65760405162461bcd60e51b8152600401808060200182810382526023815260200180612e376023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b03161415611f175760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc76029913960400191505060405180910390fd5b80611f535760405162461bcd60e51b8152600401808060200182810382526030815260200180612e5a6030913960400191505060405180910390fd5b6001600160a01b038316600090815260026020526040902054811115611faa5760405162461bcd60e51b8152600401808060200182810382526026815260200180612fa16026913960400191505060405180910390fd5b6001600160a01b0383166000908152600a60205260408120548291908190819060ff16156120ad576001600160a01b03861660009081526007602052604090205460ff16612065576012546120129086906a0100000000000000000000900461ffff16612a99565b925061202e856012600c9054906101000a900461ffff16612a99565b915061204a85601260029054906101000a900461ffff16612a99565b90506120628361205c83818887612aab565b90612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff166120a8576120a886856040518060800160405280604a8152602001613018604a9139612af4565b6124d3565b6001600160a01b0386166000908152600a602052604090205460ff1615612263576001600160a01b03871660009081526008602090815260408083205460099092529091209060ff16156121945760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b820191906000526020600020905b81548152906001019060200180831161216857829003601f168201915b50509250505060405180910390fd5b506001600160a01b03871660009081526007602052604090205460ff16612220576012546121d390869068010000000000000000900461ffff16612a99565b92506121ef856012600c9054906101000a900461ffff16612a99565b915061220b85601260049054906101000a900461ffff16612a99565b905061221d8361205c83818887612aab565b93505b6001600160a01b03871660009081526006602052604090205460ff166120a8576120a88786604051806080016040528060528152602001612e8a60529139612b86565b6001600160a01b03871660009081526008602052604090205460ff161580156122b2575060086000612293611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b6001600160a01b03881660009081526009602052604090209061232e5760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b506001600160a01b03871660009081526007602052604090205460ff1615801561237e57506007600061235f611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156123e55760125461239f9086906601000000000000900461ffff16612a99565b92506123bb856012600c9054906101000a900461ffff16612a99565b6012549092506123d090869061ffff16612a99565b90506123e28361205c83818887612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff16158015612434575060066000612415611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b1561245c5761245c86856040518060800160405280604d8152602001612efe604d9139612af4565b6001600160a01b03871660009081526006602052604090205460ff161580156124ab57506006600061248c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156124d3576124d38786604051806080016040528060568152602001612f4b60569139612b86565b811561255e576013546001600160a01b03166000908152600260205260409020546124fe9083612c99565b601380546001600160a01b039081166000908152600260209081526040918290209490945591548251868152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b80156125e9576014546001600160a01b03166000908152600260205260409020546125899082612c99565b601480546001600160a01b039081166000908152600260209081526040918290209490945591548251858152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b82156126a457306000908152600260205260408120546126099085612c99565b306000818152600260209081526040918290208490558151888152915193945091926001600160a01b038c16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3601754600160a01b900460ff1615801561268657506016546001600160a01b03898116911614155b801561269457506011548110155b156126a2576126a2816127ed565b505b6001600160a01b0387166000908152600260205260409020546126c79086612aab565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546126f69085612c99565b6001600160a01b0380881660008181526002602090815260409182902094909455805188815290519193928b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050505050565b600081848411156127e55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127aa578181015183820152602001612792565b50505050905090810190601f1680156127d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556000612828826002612cf3565b905060006128368383612aab565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061286a57fe5b6001600160a01b03928316602091820292909201015260175482519116908290600190811061289557fe5b6001600160a01b0392831660209182029290920101526015546128bb9130911687611d50565b6015546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018681526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968c968a9594939092909160c40190602080880191028083838b5b8381101561295a578181015183820152602001612942565b505050509050019650505050505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505060006129b08347612aab90919063ffffffff16565b601554604080517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101889052600060448201819052606482015261dead60848201524260a482015290519293506001600160a01b039091169163f305d71991849160c480830192606092919082900301818588803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b50505050506040513d6060811015612a6757600080fd5b5050601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055505050505050565b61271061ffff91909116919091020490565b6000612aed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612756565b9392505050565b600f54601454600091612b1191600160b01b900461ffff16612a99565b6001600160a01b03851660009081526002602052604090205490915082908401821015612b7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b5050505050565b6010546001600160a01b0384166000908152600560205260409020540142118015612be2576001600160a01b03841660009081526005602090815260408083204290556002825280832054600383528184205560049091528120555b6001600160a01b03841660009081526004602090815260408083205460039092528220546014549186019291612c239190600160a01b900461ffff16612a99565b90508381831115612c755760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b50506001600160a01b03909416600090815260046020526040902093909355505050565b600082820183811015612aed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612aed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183612d7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b506000838581612d8b57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612dcb5760008555612e11565b82601f10612de457805160ff1916838001178555612e11565b82800160010185558215612e11579182015b82811115612e11578251825591602001919060010190612df6565b50612e1d929150612e21565b5090565b5b80821115612e1d5760008155600101612e2256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f596f752063616e206e6f742073656c6c207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a20617070726f766520746f20746865207a65726f2061646472657373526563697069656e742063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b65206865277320616c72656164792061207768616c6521596f752063616e206e6f74207472616e73666572207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205468652073656e6465722063616e6e6f742062652074686520726563697069656e7442455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f752063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b6520796f752061726520616c72656164792061207768616c652145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207f73e56fb53b08ed877f5621a3d7b6da65516a8ddd5247b886aed00688a87a2c64736f6c63430007060033000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff

Deployed Bytecode

0x60806040526004361061034e5760003560e01c806375f0a874116101bb578063c0d78655116100f7578063f1b30dea11610095578063f3b27b781161006f578063f3b27b7814610c88578063f637434214610cb2578063f887ea4014610cc7578063fe575a8714610cdc57610355565b8063f1b30dea14610c00578063f25f4b5614610c40578063f2fde38b14610c5557610355565b8063ddca3f43116100d1578063ddca3f4314610b68578063e29983c514610b7d578063ee95feaf14610bb8578063f11a24d314610beb57610355565b8063c0d7865514610aa9578063dc946bd314610adc578063dd62ed3e14610b2d57610355565b806395d89b4111610164578063a8aa1b311161013e578063a8aa1b3114610a18578063a9059cbb14610a2d578063b1baa81d14610a66578063b470aade14610a9457610355565b806395d89b41146109b357806397576786146109c857806398118cb414610a0357610355565b8063893d20e811610195578063893d20e8146109565780638da5cb5b1461096b57806390d49b9d1461098057610355565b806375f0a874146108c85780637c2d6e01146108f95780638187f5161461092357610355565b8063438f2e8b1161028a57806353d6fd59116102335780636abcca041161020d5780636abcca041461082b5780636ae1fbb51461086b5780636b67c4df1461088057806370a082311461089557610355565b806353d6fd59146107a8578063547bc05d146107e35780635d098b38146107f857610355565b806347e5b3041161026457806347e5b304146107075780634b0bddd21461073a5780635342acb41461077557610355565b8063438f2e8b1461069157806343d79670146106bf57806347062402146106f257610355565b8063245aa1e9116102f7578063313ce567116102d1578063313ce567146105eb5780633af32abf146106165780633d6dfa1e14610649578063429b62e51461065e57610355565b8063245aa1e9146105955780632b14ca56146105c15780632c3255c3146105d657610355565b806309fd64191161032857806309fd6419146104fd57806318160ddd1461052b57806323b872dd1461055257610355565b806304f140901461035a57806306fdde0314610426578063095ea7b3146104b057610355565b3661035557005b600080fd5b34801561036657600080fd5b506104246004803603606081101561037d57600080fd5b6001600160a01b038235169160208101351515918101906060810160408201356401000000008111156103af57600080fd5b8201836020820111156103c157600080fd5b803590602001918460018302840111640100000000831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d0f945050505050565b005b34801561043257600080fd5b5061043b610dba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047557818101518382015260200161045d565b50505050905090810190601f1680156104a25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bc57600080fd5b506104e9600480360360408110156104d357600080fd5b506001600160a01b038135169060200135610e50565b604080519115158252519081900360200190f35b34801561050957600080fd5b506104246004803603602081101561052057600080fd5b503561ffff16610e6d565b34801561053757600080fd5b50610540610f14565b60408051918252519081900360200190f35b34801561055e57600080fd5b506104e96004803603606081101561057557600080fd5b506001600160a01b03813581169160208101359091169060400135610f1a565b3480156105a157600080fd5b506105aa610fa1565b6040805161ffff9092168252519081900360200190f35b3480156105cd57600080fd5b506105aa610fb2565b3480156105e257600080fd5b50610424610fc4565b3480156105f757600080fd5b50610600610fdf565b6040805160ff9092168252519081900360200190f35b34801561062257600080fd5b506104e96004803603602081101561063957600080fd5b50356001600160a01b0316610fe8565b34801561065557600080fd5b50610540611006565b34801561066a57600080fd5b506104e96004803603602081101561068157600080fd5b50356001600160a01b031661100c565b34801561069d57600080fd5b50610424600480360360208110156106b457600080fd5b503561ffff16611021565b3480156106cb57600080fd5b50610424600480360360208110156106e257600080fd5b50356001600160a01b03166110e9565b3480156106fe57600080fd5b506105aa611168565b34801561071357600080fd5b5061043b6004803603602081101561072a57600080fd5b50356001600160a01b0316611178565b34801561074657600080fd5b506104246004803603604081101561075d57600080fd5b506001600160a01b0381351690602001351515611223565b34801561078157600080fd5b506104e96004803603602081101561079857600080fd5b50356001600160a01b031661129e565b3480156107b457600080fd5b50610424600480360360408110156107cb57600080fd5b506001600160a01b03813516906020013515156112bc565b3480156107ef57600080fd5b506105aa611350565b34801561080457600080fd5b506104246004803603602081101561081b57600080fd5b50356001600160a01b0316611361565b34801561083757600080fd5b506104246004803603606081101561084e57600080fd5b5061ffff81358116916020810135821691604090910135166113fb565b34801561087757600080fd5b506104246114c4565b34801561088c57600080fd5b506105aa611521565b3480156108a157600080fd5b50610540600480360360208110156108b857600080fd5b50356001600160a01b031661153b565b3480156108d457600080fd5b506108dd611556565b604080516001600160a01b039092168252519081900360200190f35b34801561090557600080fd5b506104246004803603602081101561091c57600080fd5b5035611565565b34801561092f57600080fd5b506104246004803603602081101561094657600080fd5b50356001600160a01b03166115e3565b34801561096257600080fd5b506108dd611662565b34801561097757600080fd5b506108dd611671565b34801561098c57600080fd5b50610424600480360360208110156109a357600080fd5b50356001600160a01b0316611680565b3480156109bf57600080fd5b5061043b61173f565b3480156109d457600080fd5b50610424600480360360408110156109eb57600080fd5b506001600160a01b03813516906020013515156117a0565b348015610a0f57600080fd5b506105aa611834565b348015610a2457600080fd5b506108dd611848565b348015610a3957600080fd5b506104e960048036036040811015610a5057600080fd5b506001600160a01b038135169060200135611857565b348015610a7257600080fd5b5061042460048036036020811015610a8957600080fd5b503561ffff1661186b565b348015610aa057600080fd5b50610540611934565b348015610ab557600080fd5b5061042460048036036020811015610acc57600080fd5b50356001600160a01b031661193a565b348015610ae857600080fd5b50610b0f60048036036020811015610aff57600080fd5b50356001600160a01b03166119b9565b60408051938452602084019290925282820152519081900360600190f35b348015610b3957600080fd5b5061054060048036036040811015610b5057600080fd5b506001600160a01b03813581169160200135166119eb565b348015610b7457600080fd5b506105aa611a16565b348015610b8957600080fd5b5061042460048036036040811015610ba057600080fd5b506001600160a01b0381351690602001351515611a20565b348015610bc457600080fd5b506104e960048036036020811015610bdb57600080fd5b50356001600160a01b0316611ab4565b348015610bf757600080fd5b506105aa611ad2565b348015610c0c57600080fd5b5061042460048036036060811015610c2357600080fd5b5061ffff8135811691602081013582169160409091013516611aea565b348015610c4c57600080fd5b506108dd611bed565b348015610c6157600080fd5b5061042460048036036020811015610c7857600080fd5b50356001600160a01b0316611bfc565b348015610c9457600080fd5b5061042460048036036020811015610cab57600080fd5b5035611cb4565b348015610cbe57600080fd5b506105aa611d09565b348015610cd357600080fd5b506108dd611d1f565b348015610ce857600080fd5b506104e960048036036020811015610cff57600080fd5b50356001600160a01b0316611d2e565b600b6000610d1b611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16610d78576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b0383166000908152600860209081526040808320805460ff1916861515179055600982529091208251610db492840190612d95565b50505050565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050505050905090565b6000610e64610e5d611d4c565b8484611d50565b50600192915050565b610e75611d4c565b6000546001600160a01b03908116911614610ebd576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b60fa8161ffff161115610ecf57600080fd5b6012805461ffff9092166c01000000000000000000000000027fffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffff909216919091179055565b600f5490565b6000610f27848484611e3c565b610f9784610f33611d4c565b610f9285604051806060016040528060288152602001612ff0602891396001600160a01b038a16600090815260016020526040812090610f71611d4c565b6001600160a01b031681526020810191909152604001600020549190612756565b611d50565b5060019392505050565b601454600160b01b900461ffff1681565b601254640100000000900461ffff1681565b30600090815260026020526040902054610fdd906127ed565b565b600e5460ff1690565b6001600160a01b031660009081526006602052604090205460ff1690565b60115481565b600b6020526000908152604090205460ff1681565b600b600061102d611d4c565b6001600160a01b0316815260208101919091526040016000205460ff1661108a576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60008161ffff161180156110a457506127108161ffff1611155b6110ad57600080fd5b6014805461ffff909216600160b01b027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6110f1611d4c565b6000546001600160a01b03908116911614611139576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6017805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60125462010000900461ffff1681565b6001600160a01b03811660009081526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156112175780601f106111ec57610100808354040283529160200191611217565b820191906000526020600020905b8154815290600101906020018083116111fa57829003601f168201915b50505050509050919050565b61122b611d4c565b6000546001600160a01b03908116911614611273576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600b60006112c8611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611325576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b601454600160a01b900461ffff1681565b611369611d4c565b6000546001600160a01b039081169116146113b1576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6014546001600160a01b03828116911614156113cc57600080fd5b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611403611d4c565b6000546001600160a01b0390811691161461144b576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff161115801561146757506103e88261ffff1611155b801561147957506103e88161ffff1611155b61148257600080fd5b6012805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6114cc611d4c565b6000546001600160a01b03908116911614611514576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b610fdd6000806000611aea565b6012546c01000000000000000000000000900461ffff1681565b6001600160a01b031660009081526002602052604090205490565b6013546001600160a01b031681565b600b6000611571611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166115ce576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b621275008111156115de57600080fd5b601055565b6115eb611d4c565b6000546001600160a01b03908116911614611633576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6016805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061166c611671565b905090565b6000546001600160a01b031690565b611688611d4c565b6000546001600160a01b039081169116146116d0576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6116d8611671565b6001600160a01b0316816001600160a01b03161415801561170757506013546001600160a01b03828116911614155b61171057600080fd5b6014805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e465780601f10610e1b57610100808354040283529160200191610e46565b600b60006117ac611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611809576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6012546601000000000000900461ffff1681565b6016546001600160a01b031681565b6000610e64611864611d4c565b8484611e3c565b600b6000611877611d4c565b6001600160a01b0316815260208101919091526040016000205460ff166118d4576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b60648161ffff16101580156118ef57506127108161ffff1611155b6118f857600080fd5b6014805461ffff909216600160a01b027fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60105481565b611942611d4c565b6000546001600160a01b0390811691161461198a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6015805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0316600090815260036020908152604080832054600583528184205460049093529220549192909190565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60125461ffff1681565b600b6000611a2c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16611a89576040805162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b03166000908152600a602052604090205460ff1690565b6012546a0100000000000000000000900461ffff1681565b611af2611d4c565b6000546001600160a01b03908116911614611b3a576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b6103e88361ffff1611158015611b5657506103e88261ffff1611155b8015611b6857506103e88161ffff1611155b611b7157600080fd5b6012805467ffff0000000000001916660100000000000061ffff95861602177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff166a0100000000000000000000938516939093029290921769ffff00000000000000001916680100000000000000009190931602919091179055565b6014546001600160a01b031681565b611c04611d4c565b6000546001600160a01b03908116911614611c4c576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611cbc611d4c565b6000546001600160a01b03908116911614611d04576040805162461bcd60e51b81526020600482015260036024820152622d5f2d60e81b604482015290519081900360640190fd5b601155565b60125468010000000000000000900461ffff1681565b6015546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b3390565b6001600160a01b038316611d955760405162461bcd60e51b81526004018080602001828103825260248152602001806130876024913960400191505060405180910390fd5b6001600160a01b038216611dda5760405162461bcd60e51b8152600401808060200182810382526022815260200180612edc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611e815760405162461bcd60e51b81526004018080602001828103825260258152602001806130626025913960400191505060405180910390fd5b6001600160a01b038216611ec65760405162461bcd60e51b8152600401808060200182810382526023815260200180612e376023913960400191505060405180910390fd5b816001600160a01b0316836001600160a01b03161415611f175760405162461bcd60e51b8152600401808060200182810382526029815260200180612fc76029913960400191505060405180910390fd5b80611f535760405162461bcd60e51b8152600401808060200182810382526030815260200180612e5a6030913960400191505060405180910390fd5b6001600160a01b038316600090815260026020526040902054811115611faa5760405162461bcd60e51b8152600401808060200182810382526026815260200180612fa16026913960400191505060405180910390fd5b6001600160a01b0383166000908152600a60205260408120548291908190819060ff16156120ad576001600160a01b03861660009081526007602052604090205460ff16612065576012546120129086906a0100000000000000000000900461ffff16612a99565b925061202e856012600c9054906101000a900461ffff16612a99565b915061204a85601260029054906101000a900461ffff16612a99565b90506120628361205c83818887612aab565b90612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff166120a8576120a886856040518060800160405280604a8152602001613018604a9139612af4565b6124d3565b6001600160a01b0386166000908152600a602052604090205460ff1615612263576001600160a01b03871660009081526008602090815260408083205460099092529091209060ff16156121945760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b820191906000526020600020905b81548152906001019060200180831161216857829003601f168201915b50509250505060405180910390fd5b506001600160a01b03871660009081526007602052604090205460ff16612220576012546121d390869068010000000000000000900461ffff16612a99565b92506121ef856012600c9054906101000a900461ffff16612a99565b915061220b85601260049054906101000a900461ffff16612a99565b905061221d8361205c83818887612aab565b93505b6001600160a01b03871660009081526006602052604090205460ff166120a8576120a88786604051806080016040528060528152602001612e8a60529139612b86565b6001600160a01b03871660009081526008602052604090205460ff161580156122b2575060086000612293611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b6001600160a01b03881660009081526009602052604090209061232e5760405162461bcd60e51b81526020600482019081528254600260001961010060018416150201909116046024830181905290918291604490910190849080156121855780601f1061215a57610100808354040283529160200191612185565b506001600160a01b03871660009081526007602052604090205460ff1615801561237e57506007600061235f611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156123e55760125461239f9086906601000000000000900461ffff16612a99565b92506123bb856012600c9054906101000a900461ffff16612a99565b6012549092506123d090869061ffff16612a99565b90506123e28361205c83818887612aab565b93505b6001600160a01b03861660009081526006602052604090205460ff16158015612434575060066000612415611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b1561245c5761245c86856040518060800160405280604d8152602001612efe604d9139612af4565b6001600160a01b03871660009081526006602052604090205460ff161580156124ab57506006600061248c611d4c565b6001600160a01b0316815260208101919091526040016000205460ff16155b156124d3576124d38786604051806080016040528060568152602001612f4b60569139612b86565b811561255e576013546001600160a01b03166000908152600260205260409020546124fe9083612c99565b601380546001600160a01b039081166000908152600260209081526040918290209490945591548251868152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b80156125e9576014546001600160a01b03166000908152600260205260409020546125899082612c99565b601480546001600160a01b039081166000908152600260209081526040918290209490945591548251858152925190821693918b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35b82156126a457306000908152600260205260408120546126099085612c99565b306000818152600260209081526040918290208490558151888152915193945091926001600160a01b038c16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3601754600160a01b900460ff1615801561268657506016546001600160a01b03898116911614155b801561269457506011548110155b156126a2576126a2816127ed565b505b6001600160a01b0387166000908152600260205260409020546126c79086612aab565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546126f69085612c99565b6001600160a01b0380881660008181526002602090815260409182902094909455805188815290519193928b16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050505050565b600081848411156127e55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127aa578181015183820152602001612792565b50505050905090810190601f1680156127d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556000612828826002612cf3565b905060006128368383612aab565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061286a57fe5b6001600160a01b03928316602091820292909201015260175482519116908290600190811061289557fe5b6001600160a01b0392831660209182029290920101526015546128bb9130911687611d50565b6015546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018681526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968c968a9594939092909160c40190602080880191028083838b5b8381101561295a578181015183820152602001612942565b505050509050019650505050505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505060006129b08347612aab90919063ffffffff16565b601554604080517ff305d71900000000000000000000000000000000000000000000000000000000815230600482015260248101889052600060448201819052606482015261dead60848201524260a482015290519293506001600160a01b039091169163f305d71991849160c480830192606092919082900301818588803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b50505050506040513d6060811015612a6757600080fd5b5050601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055505050505050565b61271061ffff91909116919091020490565b6000612aed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612756565b9392505050565b600f54601454600091612b1191600160b01b900461ffff16612a99565b6001600160a01b03851660009081526002602052604090205490915082908401821015612b7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b5050505050565b6010546001600160a01b0384166000908152600560205260409020540142118015612be2576001600160a01b03841660009081526005602090815260408083204290556002825280832054600383528184205560049091528120555b6001600160a01b03841660009081526004602090815260408083205460039092528220546014549186019291612c239190600160a01b900461ffff16612a99565b90508381831115612c755760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b50506001600160a01b03909416600090815260046020526040902093909355505050565b600082820183811015612aed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612aed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183612d7f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127aa578181015183820152602001612792565b506000838581612d8b57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612dcb5760008555612e11565b82601f10612de457805160ff1916838001178555612e11565b82800160010185558215612e11579182015b82811115612e11578251825591602001919060010190612df6565b50612e1d929150612e21565b5090565b5b80821115612e1d5760008155600101612e2256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f596f752063616e206e6f742073656c6c207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a20617070726f766520746f20746865207a65726f2061646472657373526563697069656e742063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b65206865277320616c72656164792061207768616c6521596f752063616e206e6f74207472616e73666572207468697320616d6f756e74206f6620746f6b656e7320666f72207468652063757272656e7420706572696f642e204a7573742072656c617820616e64207761697445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205468652073656e6465722063616e6e6f742062652074686520726563697069656e7442455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f752063616e6e6f7420686f6c64207468697320616d6f756e74206f6620746f6b656e732e204c6f6f6b73206c696b6520796f752061726520616c72656164792061207768616c652145524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207f73e56fb53b08ed877f5621a3d7b6da65516a8ddd5247b886aed00688a87a2c64736f6c63430007060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff

-----Decoded View---------------
Arg [0] : _router (address): 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff


Deployed Bytecode Sourcemap

3926:14377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14751:174;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14751:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14751:174:0;;-1:-1:-1;14751:174:0;;-1:-1:-1;;;;;14751:174:0:i;:::-;;7036:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7666:153;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7666:153:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16663:156;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16663:156:0;;;;:::i;7131:96::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7825:300;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7825:300:0;;;;;;;;;;;;;;;;;:::i;5566:34::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5147:25;;;;;;;;;;;;;:::i;12416:96::-;;;;;;;;;;;;;:::i;6844:88::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17386:110;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17386:110:0;-1:-1:-1;;;;;17386:110:0;;:::i;4851:71::-;;;;;;;;;;;;;:::i;4567:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4567:39:0;-1:-1:-1;;;;;4567:39:0;;:::i;15043:160::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15043:160:0;;;;:::i;15699:100::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15699:100:0;-1:-1:-1;;;;;15699:100:0;;:::i;5103:24::-;;;;;;;;;;;;;:::i;17747:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17747:128:0;-1:-1:-1;;;;;17747:128:0;;:::i;14933:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14933:102:0;;;;;;;;;;:::i;17504:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17504:117:0;-1:-1:-1;;;;;17504:117:0;;:::i;14509:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14509:110:0;;;;;;;;;;:::i;5515:39::-;;;;;;;;;;;;;:::i;16827:165::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16827:165:0;-1:-1:-1;;;;;16827:165:0;;:::i;15949:293::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15949:293:0;;;;;;;;;;;;;;;;;;;;:::i;17172:95::-;;;;;;;;;;;;;:::i;5386:32::-;;;;;;;;;;;;;:::i;7235:115::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7235:115:0;-1:-1:-1;;;;;7235:115:0;;:::i;5447:30::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5447:30:0;;;;;;;;;;;;;;15389:122;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15389:122:0;;:::i;15613:78::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15613:78:0;-1:-1:-1;;;;;15613:78:0;;:::i;6759:79::-;;;;;;;;;;;;;:::i;1403:73::-;;;;;;;;;;;;;:::i;16998:166::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16998:166:0;-1:-1:-1;;;;;16998:166:0;;:::i;6938:92::-;;;;;;;;;;;;;:::i;14627:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14627:116:0;;;;;;;;;;:::i;5192:30::-;;;;;;;;;;;;;:::i;5661:19::-;;;;;;;;;;;;;:::i;7356:159::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7356:159:0;;;;;;;;:::i;15211:170::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15211:170:0;;;;:::i;4808:38::-;;;;;;;;;;;;;:::i;15519:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15519:86:0;-1:-1:-1;;;;;15519:86:0;;:::i;17883:275::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17883:275:0;-1:-1:-1;;;;;17883:275:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;7521:139;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7521:139:0;;;;;;;;;;:::i;5058:21::-;;;;;;;;;;;;;:::i;14396:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14396:105:0;;;;;;;;;;:::i;17275:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17275:103:0;-1:-1:-1;;;;;17275:103:0;;:::i;5322:35::-;;;;;;;;;;;;;:::i;16250:405::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16250:405:0;;;;;;;;;;;;;;;;;;;;:::i;5482:24::-;;;;;;;;;;;;;:::i;1568:142::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1568:142:0;-1:-1:-1;;;;;1568:142:0;;:::i;15807:134::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15807:134:0;;:::i;5256:36::-;;;;;;;;;;;;;:::i;5635:21::-;;;;;;;;;;;;;:::i;17629:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17629:110:0;-1:-1:-1;;;;;17629:110:0;;:::i;14751:174::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14850:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;;;:27;;-1:-1:-1;;14850:27:0::1;::::0;::::1;;;::::0;;14884:17:::1;:26:::0;;;;;:35;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;14751:174:::0;;;:::o;7036:89::-;7114:5;7107:12;;;;;;;;-1:-1:-1;;7107:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7084:13;;7107:12;;7114:5;;7107:12;;7114:5;7107:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:89;:::o;7666:153::-;7743:4;7756:39;7765:12;:10;:12::i;:::-;7779:7;7788:6;7756:8;:39::i;:::-;-1:-1:-1;7809:4:0;7666:153;;;;:::o;16663:156::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16761:3:::1;16744:13;:20;;;;16736:29;;;::::0;::::1;;16785:12;:28:::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;16663:156::o;7131:96::-;7209:12;;7131:96;:::o;7825:300::-;7924:4;7937:36;7947:6;7955:9;7966:6;7937:9;:36::i;:::-;7980:121;7989:6;7997:12;:10;:12::i;:::-;8011:89;8049:6;8011:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8011:19:0;;;;;;:11;:19;;;;;;8031:12;:10;:12::i;:::-;-1:-1:-1;;;;;8011:33:0;;;;;;;;;;;;-1:-1:-1;8011:33:0;;;:89;:37;:89::i;:::-;7980:8;:121::i;:::-;-1:-1:-1;8115:4:0;7825:300;;;;;:::o;5566:34::-;;;-1:-1:-1;;;5566:34:0;;;;;:::o;5147:25::-;;;;;;;;;:::o;12416:96::-;12499:4;12481:24;;;;:9;:24;;;;;;12463:43;;:17;:43::i;:::-;12416:96::o;6844:88::-;6917:9;;;;6844:88;:::o;17386:110::-;-1:-1:-1;;;;;17471:19:0;17449:4;17471:19;;;:10;:19;;;;;;;;;17386:110::o;4851:71::-;;;;:::o;4567:39::-;;;;;;;;;;;;;;;:::o;15043:160::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15130:1:::1;15120:7;:11;;;:31;;;;;15146:5;15135:7;:16;;;;15120:31;15112:40;;;::::0;::::1;;15173:14;:24:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;15173:24:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;15043:160::o;15699:100::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15770:15:::1;:23:::0;;-1:-1:-1;;15770:23:0::1;-1:-1:-1::0;;;;;15770:23:0;;;::::1;::::0;;;::::1;::::0;;15699:100::o;5103:24::-;;;;;;;;;:::o;17747:128::-;-1:-1:-1;;;;;17843:26:0;;;;;;:17;:26;;;;;;;;;17836:33;;;;;;-1:-1:-1;;17836:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17812:13;;17836:33;;;17843:26;17836:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17747:128;;;:::o;14933:102::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15006:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:23;;-1:-1:-1;;15006:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14933:102::o;17504:117::-;-1:-1:-1;;;;;17593:22:0;17571:4;17593:22;;;:13;:22;;;;;;;;;17504:117::o;14509:110::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14586:19:0;;;::::1;;::::0;;;:10:::1;:19;::::0;;;;:27;;-1:-1:-1;;14586:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14509:110::o;5515:39::-;;;-1:-1:-1;;;5515:39:0;;;;;:::o;16827:165::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16935:9:::1;::::0;-1:-1:-1;;;;;16915:29:0;;::::1;16935:9:::0;::::1;16915:29;;16907:38;;;::::0;::::1;;16952:15;:34:::0;;-1:-1:-1;;16952:34:0::1;-1:-1:-1::0;;;;;16952:34:0;;;::::1;::::0;;;::::1;::::0;;16827:165::o;15949:293::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16067:4:::1;16059;:12;;;;:52;;;;;16107:4;16096:7;:15;;;;16059:52;:93;;;;;16148:4;16136:8;:16;;;;16059:93;16041:130;;;::::0;::::1;;16178:3;:10:::0;;-1:-1:-1;;16178:10:0::1;;::::0;;::::1;;-1:-1:-1::0;;16195:16:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;16218:18:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;15949:293::o;17172:95::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;17236:25:::1;17253:1;17256::::0;17259::::1;17236:16;:25::i;5386:32::-:0;;;;;;;;;:::o;7235:115::-;-1:-1:-1;;;;;7326:18:0;7303:7;7326:18;;;:9;:18;;;;;;;7235:115::o;5447:30::-;;;-1:-1:-1;;;;;5447:30:0;;:::o;15389:122::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15469:7:::1;15461:4;:15;;15453:24;;;::::0;::::1;;15484:14;:21:::0;15389:122::o;15613:78::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15673:4:::1;:12:::0;;-1:-1:-1;;15673:12:0::1;-1:-1:-1::0;;;;;15673:12:0;;;::::1;::::0;;;::::1;::::0;;15613:78::o;6759:79::-;6802:7;6825;:5;:7::i;:::-;6818:14;;6759:79;:::o;1403:73::-;1441:7;1464:6;-1:-1:-1;;;;;1464:6:0;1403:73;:::o;16998:166::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;17088:7:::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;17074:21:0::1;:10;-1:-1:-1::0;;;;;17074:21:0::1;;;:54;;;;-1:-1:-1::0;17113:15:0::1;::::0;-1:-1:-1;;;;;17099:29:0;;::::1;17113:15:::0;::::1;17099:29;;17074:54;17066:63;;;::::0;::::1;;17136:9;:22:::0;;-1:-1:-1;;17136:22:0::1;-1:-1:-1::0;;;;;17136:22:0;;;::::1;::::0;;;::::1;::::0;;16998:166::o;6938:92::-;7017:7;7010:14;;;;;;;;-1:-1:-1;;7010:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6988:13;;7010:14;;7017:7;;7010:14;;7017:7;7010:14;;;;;;;;;;;;;;;;;;;;;;;;14627:116;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14707:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;14707:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14627:116::o;5192:30::-;;;;;;;;;:::o;5661:19::-;;;-1:-1:-1;;;;;5661:19:0;;:::o;7356:159::-;7436:4;7449:42;7459:12;:10;:12::i;:::-;7473:9;7484:6;7449:9;:42::i;15211:170::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;15303:3:::1;15292:7;:14;;;;:34;;;;;15321:5;15310:7;:16;;;;15292:34;15284:43;;;::::0;::::1;;15347:18;:28:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;15347:28:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;15211:170::o;4808:38::-;;;;:::o;15519:86::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15583:6:::1;:16:::0;;-1:-1:-1;;15583:16:0::1;-1:-1:-1::0;;;;;15583:16:0;;;::::1;::::0;;;::::1;::::0;;15519:86::o;17883:275::-;-1:-1:-1;;;;;18033:29:0;17953:20;18033:29;;;:20;:29;;;;;;;;;18083:16;:25;;;;;;18125:18;:27;;;;;;18033:29;;18083:25;;18125:27;17883:275::o;7521:139::-;-1:-1:-1;;;;;7627:18:0;;;7604:7;7627:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7521:139::o;5058:21::-;;;;;;:::o;14396:105::-;5844:6;:20;5851:12;:10;:12::i;:::-;-1:-1:-1;;;;;5844:20:0;;;;;;;;;;;;-1:-1:-1;5844:20:0;;;;5836:45;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;-1:-1:-1;;;5836:45:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14470:17:0;;;::::1;;::::0;;;:8:::1;:17;::::0;;;;:25;;-1:-1:-1;;14470:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14396:105::o;17275:103::-;-1:-1:-1;;;;;17355:17:0;17333:4;17355:17;;;:8;:17;;;;;;;;;17275:103::o;5322:35::-;;;;;;;;;:::o;16250:405::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;16408:4:::1;16391:13;:21;;;;:70;;;;;16457:4;16437:16;:24;;;;16391:70;:120;;;;;16507:4;16486:17;:25;;;;16391:120;16373:157;;;::::0;::::1;;16537:12;:28:::0;;-1:-1:-1;;16537:28:0::1;::::0;::::1;::::0;;::::1;;;16572:34:::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;16613:36:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;16250:405::o;5482:24::-;;;-1:-1:-1;;;;;5482:24:0;;:::o;1568:142::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;1663:6:::1;::::0;;1642:38:::1;::::0;-1:-1:-1;;;;;1642:38:0;;::::1;::::0;1663:6;::::1;::::0;1642:38:::1;::::0;::::1;1687:6;:17:::0;;-1:-1:-1;;1687:17:0::1;-1:-1:-1::0;;;;;1687:17:0;;;::::1;::::0;;;::::1;::::0;;1568:142::o;15807:134::-;1528:12;:10;:12::i;:::-;1518:6;;-1:-1:-1;;;;;1518:6:0;;;:22;;;1510:38;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;-1:-1:-1;;;1510:38:0;;;;;;;;;;;;;;;15895:31:::1;:40:::0;15807:134::o;5256:36::-;;;;;;;;;:::o;5635:21::-;;;-1:-1:-1;;;;;5635:21:0;;:::o;17629:110::-;-1:-1:-1;;;;;17714:19:0;17692:4;17714:19;;;:10;:19;;;;;;;;;17629:110::o;909:106::-;997:10;909:106;:::o;8133:320::-;-1:-1:-1;;;;;8223:19:0;;8215:68;;;;-1:-1:-1;;;8215:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8298:21:0;;8290:68;;;;-1:-1:-1;;;8290:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8367:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8415:32;;;;;;;;;;;;;;;;;8133:320;;;:::o;8496:3912::-;-1:-1:-1;;;;;8590:20:0;;8582:70;;;;-1:-1:-1;;;8582:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8667:23:0;;8659:71;;;;-1:-1:-1;;;8659:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8755:9;-1:-1:-1;;;;;8745:19:0;:6;-1:-1:-1;;;;;8745:19:0;;;8737:73;;;;-1:-1:-1;;;8737:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8825:11;8817:72;;;;-1:-1:-1;;;8817:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8904:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;8904:27:0;8896:78;;;;-1:-1:-1;;;8896:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9147:16:0;;8987:21;9147:16;;;:8;:16;;;;;;9011:6;;8987:21;;;;;9147:16;;9143:2203;;;-1:-1:-1;;;;;9179:24:0;;;;;;:13;:24;;;;;;;;9174:348;;9262:15;;9239:39;;9254:6;;9262:15;;;;;9239:14;:39::i;:::-;9216:62;;9312:36;9327:6;9335:12;;;;;;;;;;;9312:14;:36::i;:::-;9289:59;;9373:30;9388:6;9396;;;;;;;;;;;9373:14;:30::i;:::-;9359:44;-1:-1:-1;9430:82:0;9491:20;9430:56;9359:44;9430:56;:13;9448:20;9430:17;:39::i;:::-;:43;;:56::i;:82::-;9414:98;;9174:348;-1:-1:-1;;;;;9543:21:0;;;;;;:10;:21;;;;;;;;9538:170;;9577:121;9595:9;9606:13;9577:121;;;;;;;;;;;;;;;;;:17;:121::i;:::-;9143:2203;;;-1:-1:-1;;;;;9745:19:0;;;;;;:8;:19;;;;;;;;9741:1605;;;-1:-1:-1;;;;;9784:18:0;;;;;;:10;:18;;;;;;;;;9804:17;:25;;;;;;;9784:18;;9783:19;9775:55;;;;-1:-1:-1;;;9775:55:0;;;;;;;;;;;;-1:-1:-1;;9775:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9846:21:0;;;;;;:13;:21;;;;;;;;9841:347;;9926:16;;9903:40;;9918:6;;9926:16;;;;;9903:14;:40::i;:::-;9880:63;;9977:36;9992:6;10000:12;;;;;;;;;;;9977:14;:36::i;:::-;9954:59;;10038:31;10053:6;10061:7;;;;;;;;;;;10038:14;:31::i;:::-;10024:45;-1:-1:-1;10096:82:0;10157:20;10096:56;10024:45;10096:56;:13;10114:20;10096:17;:39::i;:82::-;10080:98;;9841:347;-1:-1:-1;;;;;10209:18:0;;;;;;:10;:18;;;;;;;;10204:169;;10240:123;10262:6;10270;10240:123;;;;;;;;;;;;;;;;;:21;:123::i;9741:1605::-;-1:-1:-1;;;;;10446:18:0;;;;;;:10;:18;;;;;;;;10445:19;:48;;;;;10469:10;:24;10480:12;:10;:12::i;:::-;-1:-1:-1;;;;;10469:24:0;;;;;;;;;;;;-1:-1:-1;10469:24:0;;;;10468:25;10445:48;-1:-1:-1;;;;;10495:25:0;;;;;;:17;:25;;;;;;10437:84;;;;-1:-1:-1;;;10437:84:0;;;;;;;;;;;;-1:-1:-1;;10437:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10537:21:0;;;;;;:13;:21;;;;;;;;10536:22;:54;;;;;10563:13;:27;10577:12;:10;:12::i;:::-;-1:-1:-1;;;;;10563:27:0;;;;;;;;;;;;-1:-1:-1;10563:27:0;;;;10562:28;10536:54;10532:371;;;10649:12;;10626:36;;10641:6;;10649:12;;;;;10626:14;:36::i;:::-;10603:59;;10696:36;10711:6;10719:12;;;;;;;;;;;10696:14;:36::i;:::-;10780:3;;10673:59;;-1:-1:-1;10757:27:0;;10772:6;;10780:3;;10757:14;:27::i;:::-;10743:41;-1:-1:-1;10811:82:0;10872:20;10811:56;10743:41;10811:56;:13;10829:20;10811:17;:39::i;:82::-;10795:98;;10532:371;-1:-1:-1;;;;;10924:21:0;;;;;;:10;:21;;;;;;;;10923:22;:51;;;;;10950:10;:24;10961:12;:10;:12::i;:::-;-1:-1:-1;;;;;10950:24:0;;;;;;;;;;;;-1:-1:-1;10950:24:0;;;;10949:25;10923:51;10919:202;;;10987:124;11005:9;11016:13;10987:124;;;;;;;;;;;;;;;;;:17;:124::i;:::-;-1:-1:-1;;;;;11142:18:0;;;;;;:10;:18;;;;;;;;11141:19;:48;;;;;11165:10;:24;11176:12;:10;:12::i;:::-;-1:-1:-1;;;;;11165:24:0;;;;;;;;;;;;-1:-1:-1;11165:24:0;;;;11164:25;11141:48;11137:202;;;11202:127;11224:6;11232;11202:127;;;;;;;;;;;;;;;;;:21;:127::i;:::-;11362:24;;11358:201;;11438:15;;-1:-1:-1;;;;;11438:15:0;11428:26;;;;:9;:26;;;;;;:52;;11459:20;11428:30;:52::i;:::-;11409:15;;;-1:-1:-1;;;;;11409:15:0;;;11399:26;;;;:9;:26;;;;;;;;;:81;;;;11513:15;;11496:55;;;;;;;11513:15;;;;11496:55;;;;;;;;;;;;;11358:201;11575:15;;11571:156;;11636:9;;-1:-1:-1;;;;;11636:9:0;11626:20;;;;:9;:20;;;;;;:37;;11651:11;11626:24;:37::i;:::-;11613:9;;;-1:-1:-1;;;;;11613:9:0;;;11603:20;;;;:9;:20;;;;;;;;;:60;;;;11696:9;;11679:40;;;;;;;11696:9;;;;11679:40;;;;;;;;;;;;;11571:156;11739:24;;11735:481;;11825:4;11776:28;11807:24;;;:9;:24;;;;;;:50;;11836:20;11807:28;:50::i;:::-;11888:4;11870:24;;;;:9;:24;;;;;;;;;:47;;;11933:53;;;;;;;11776:81;;-1:-1:-1;11888:4:0;;-1:-1:-1;;;;;11933:53:0;;;;;;;;;;;12024:8;;-1:-1:-1;;;12024:8:0;;;;12023:9;:38;;;;-1:-1:-1;12057:4:0;;-1:-1:-1;;;;;12047:14:0;;;12057:4;;12047:14;;12023:38;:108;;;;;12100:31;;12076:20;:55;;12023:108;12007:202;;;12158:39;12176:20;12158:17;:39::i;:::-;11735:481;;-1:-1:-1;;;;;12248:17:0;;;;;;:9;:17;;;;;;:29;;12270:6;12248:21;:29::i;:::-;-1:-1:-1;;;;;12228:17:0;;;;;;;:9;:17;;;;;;:49;;;;12307:20;;;;;;;:39;;12332:13;12307:24;:39::i;:::-;-1:-1:-1;;;;;12284:20:0;;;;;;;:9;:20;;;;;;;;;:62;;;;12360:42;;;;;;;12284:20;;12360:42;;;;;;;;;;;;;8496:3912;;;;;;;:::o;2074:192::-;2160:7;2196:12;2188:6;;;;2180:29;;;;-1:-1:-1;;;2180:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2232:5:0;;;2074:192::o;12520:884::-;5952:8;:15;;;;-1:-1:-1;;;5952:15:0;;;;12608:13:::1;:6:::0;12619:1:::1;12608:10;:13::i;:::-;12584:37:::0;-1:-1:-1;12628:26:0::1;12657:25;:6:::0;12584:37;12657:10:::1;:25::i;:::-;12770:16;::::0;;12784:1:::1;12770:16:::0;;;;;::::1;::::0;;12628:54;;-1:-1:-1;12716:21:0::1;::::0;12691:22:::1;::::0;12770:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12770:16:0::1;12746:40;;12811:4;12793;12798:1;12793:7;;;;;;;;-1:-1:-1::0;;;;;12793:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12833:15:::1;::::0;12823:7;;12833:15;::::1;::::0;12823:4;;12833:15;;12823:7;::::1;;;;;-1:-1:-1::0;;;;;12823:25:0;;::::1;:7;::::0;;::::1;::::0;;;;;:25;12893:6:::1;::::0;12861:48:::1;::::0;12878:4:::1;::::0;12893:6:::1;12902::::0;12861:8:::1;:48::i;:::-;12918:6;::::0;:186:::1;::::0;;;;::::1;::::0;::::1;::::0;;;:6:::1;:186:::0;;;;;;13066:4:::1;12918:186:::0;;;;;;13082:15:::1;12918:186:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12918:6:0;;::::1;::::0;:57:::1;::::0;12986:13;;13043:4;;13066;13082:15;12918:186;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:6;:186:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13113:15;13131:41;13157:14;13131:21;:25;;:41;;;;:::i;:::-;13181:6;::::0;:217:::1;::::0;;;;;13238:4:::1;13181:217;::::0;::::1;::::0;;;;;;;:6:::1;:217:::0;;;;;;;;;;5757:42:::1;13181:217:::0;;;;13376:15:::1;13181:217:::0;;;;;;13113:59;;-1:-1:-1;;;;;;13181:6:0;;::::1;::::0;:22:::1;::::0;13113:59;;13181:217;;;;;::::1;::::0;;;;;;;;13113:59;13181:6;:217;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;5982:8:0;:16;;;;;;-1:-1:-1;;;;;;12520:884:0:o;18166:134::-;18289:5;18269:16;;;;;;;;;18268:26;;18166:134::o;1930:136::-;1988:7;2015:43;2019:1;2022;2015:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2008:50;1930:136;-1:-1:-1;;;1930:136:0:o;14119:269::-;14271:12;;14285:14;;14228:25;;14256:44;;-1:-1:-1;;;14285:14:0;;;;14256;:44::i;:::-;-1:-1:-1;;;;;14318:18:0;;;;;;:9;:18;;;;;;14228:72;;-1:-1:-1;14369:12:0;;14318:27;;14317:50;-1:-1:-1;14317:50:0;14309:73;;;;-1:-1:-1;;;14309:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14119:269;;;;:::o;13412:699::-;13587:14;;-1:-1:-1;;;;;13559:25:0;;13520:17;13559:25;;;:16;:25;;;;;;:42;13540:15;:62;13611:183;;;;-1:-1:-1;;;;;13640:25:0;;;;;;:16;:25;;;;;;;;13668:15;13640:43;;13726:9;:18;;;;;;13694:20;:29;;;;;:50;13755:18;:27;;;;;:31;13611:183;-1:-1:-1;;;;;13833:27:0;;13802:28;13833:27;;;:18;:27;;;;;;;;;13917:20;:29;;;;;;13948:18;;13833:36;;;;13802:28;13902:65;;13917:29;-1:-1:-1;;;13948:18:0;;;;13902:14;:65::i;:::-;13876:91;-1:-1:-1;14029:12:0;13988:39;;;;13980:62;;;;-1:-1:-1;;;13980:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;14055:27:0;;;;;;;:18;:27;;;;;:50;;;;-1:-1:-1;;;13412:699:0:o;1741:181::-;1799:7;1831:5;;;1855:6;;;;1847:46;;;;;-1:-1:-1;;;1847:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2532:132;2590:7;2617:39;2621:1;2624;2617:39;;;;;;;;;;;;;;;;;2758:7;2793:12;2786:5;2778:28;;;;-1:-1:-1;;;2778:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2817:9;2833:1;2829;:5;;;;;;;2672:191;-1:-1:-1;;;;;2672:191:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

ipfs://7f73e56fb53b08ed877f5621a3d7b6da65516a8ddd5247b886aed00688a87a2c

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading

OVERVIEW

PLAY AND EARN! PLAY COMPUTER GAMES AND EARN ENERGY 8!

Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.