ETH Price: $2,416.09 (-1.31%)

Token

KOL Community Alliance (KOL)
 

Overview

Max Total Supply

20,982,400 KOL

Holders

3,942

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1 KOL

Value
$0.00
0xb6e93ad48178305489d1e77d1ad709663279b76b
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
KOLVote

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-12-11
*/

pragma solidity ^0.4.23;
/*
 *             ╔═╗┌─┐┌─┐┬┌─┐┬┌─┐┬   ┌─────────────────────────┐ ╦ ╦┌─┐┌┐ ╔═╗┬┌┬┐┌─┐
 *             ║ ║├┤ ├┤ ││  │├─┤│   │ KOL Community Alliance  │ ║║║├┤ ├┴┐╚═╗│ │ ├┤
 *             ╚═╝└  └  ┴└─┘┴┴ ┴┴─┘ └─┬─────────────────────┬─┘ ╚╩╝└─┘└─┘╚═╝┴ ┴ └─┘
 *   ┌────────────────────────────────┘                     └──────────────────────────────┐
 *   │    ┌─────────────────────────────────────────────────────────────────────────────┐  │
 *   └────┤ Dev:Jack Koe ├─────────────┤ Special for: KOL  ├───────────────┤ 20191211   ├──┘
 *        └─────────────────────────────────────────────────────────────────────────────┘
 */

library SafeMath {

  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    if (_a == 0) {
      return 0;
    }
    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    return _a / _b;
  }
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

contract Ownable {

  address public owner;
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );
  constructor() public {
    owner = msg.sender;
  }
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

contract ERC20Basic {
  function balanceOf(address _who) public view returns (uint256);
  function transfer(address _to, uint256 _value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  function approve(address _spender, uint256 _value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

contract BasicToken is Ownable,ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) internal balances;

  function transfer(address _to, uint256 _value) public returns (bool) {
    require(msg.sender != owner);
    require(_value <= balances[msg.sender]);
    require(_to != address(0));

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }
  function balanceOf(address _owner) public view returns (uint256) {
    return balances[_owner];
  }
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;

  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
    require(_from != owner);
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);
    require(_to != address(0));

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }
  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

  function increaseApproval(
    address _spender,
    uint256 _addedValue
  )
    public
    returns (bool)
  {
    allowed[msg.sender][_spender] = (
      allowed[msg.sender][_spender].add(_addedValue));
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval(
    address _spender,
    uint256 _subtractedValue
  )
    public
    returns (bool)
  {
    uint256 oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue >= oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract KOL is StandardToken{
    using SafeMath for uint256;

    uint256 public constant TOKEN_DECIMALS = 18;

    string public name = "KOL Community Alliance";
    string public symbol = "KOL";
    uint256 public decimals = TOKEN_DECIMALS;
    uint256 public totalSupply = 21000000 *(10**uint256(TOKEN_DECIMALS));

    uint256 public totalSupplyed = 0;
    address public ethFundDeposit;

    uint16 public constant totalSuperNodes = 21;
    uint16 public constant totalNodes = 500;
    uint16 public constant halfSuperNodes = 11;
    uint16 public constant mostNodes = 335;
    uint16 public constant halfNodes = 251;
    uint16 public constant minSuperNodes = 15;
    uint16 public constant minNodes = 101;

    uint16 public constant most = 67;
    uint16 public constant half = 51;
    uint16 public constant less = 33;

    function construct() public {
        ethFundDeposit = msg.sender;
    }
    function setEthFundDeposit(address _ethFundDeposit) onlyOwner public {
        require(_ethFundDeposit != address(0));
        ethFundDeposit = _ethFundDeposit;
    }

    function transferETH() onlyOwner public {
        require(ethFundDeposit != address(0));
        require(address(this).balance != 0);
        require(ethFundDeposit.send(address(this).balance));
    }
    function isOwner() internal view returns(bool success) {
        if (msg.sender == owner) return true;
        return false;
    }
}

contract KOLVote is KOL {

    uint256 public constant totalNodeSupply = 5000000 *(10**uint256(TOKEN_DECIMALS));
    uint256 public constant totalUserSupply = 16000000 *(10**uint256(TOKEN_DECIMALS));
    uint256 public nodeSupplyed = 0;
    uint256 public userSupplyed = 0;

    uint256 public superNodesNum = 0;
    uint256 public nodesNum = 0;
    uint256 public dealTime =  3 days;
    uint256 public missionId = 0;

    mapping(address => bool) private isSuperNode;
    mapping(address => bool) private isNode;
    mapping(address => mapping(uint256 => bool)) private Voter;


    event MissionPassed(uint256 _missionId,bytes32 _name);
    event OfferingFinished(uint256 _missionId,uint256 _totalAmount,uint256 _length);
    event RecycleTokens(uint256 _missionId,uint256 _totalAmount);
    event NodeChanged(uint16 _type,address _oldNode,address _newNode);
    event MissionLaunched(bytes32 _name,uint256 _missionId,address _whoLaunch);
    event Burn(address indexed burner, uint256 value);

    function burn(uint256 _value) internal {
      require(_value <= balances[owner]);
      require(_value <= totalSupply);
      balances[owner] = balances[owner].sub(_value);
      totalSupply = totalSupply.sub(_value);
      emit Burn(owner, _value);
      emit Transfer(owner, address(0), _value);
    }

    modifier onlySuperNode() {
      require(isSuperNode[msg.sender]);
        _;
    }
    modifier onlyNode() {
        require(isNode[msg.sender]);
        _;
    }
    modifier onlyNodes() {
        require(isSuperNode[msg.sender]||isNode[msg.sender]);
        _;
    }

    function setSuperNode(address superNodeAddress) onlyOwner public{
      require(!isSuperNode[superNodeAddress]);
      require(superNodesNum < totalSuperNodes);
      isSuperNode[superNodeAddress] = true;
      superNodesNum++;
    }

    function setNode(address nodeAddress) onlyOwner public{
      require(!isNode[nodeAddress]);
      require(nodesNum < totalNodes);
      isNode[nodeAddress] = true;
      nodesNum++;

    }

    function querySuperNode(address _addr) public view returns(bool){
      return(isSuperNode[_addr]);
    }
    function queryNode(address _addr) public view returns(bool){
      return(isNode[_addr]);
    }
    /***************************************************/
    /*       KOL Vote Code Begin here                  */
    /***************************************************/

    struct KolMission{
      address oldNode;
      address newNode;
      uint256 startTime;
      uint256 endTime;
      uint256 totalAmount;
      uint256 offeringAmount;
      bytes32 name;
      uint16 agreeNodes;
      uint16 refuseNodes;
      uint16 agreeSuperNodes;
      uint16 refuseSuperNodes;
      bool superPassed;
      bool nodePassed;
      bool done;
    }
    mapping (uint256 => KolMission) private missionList;

    struct KolOffering{
      address target;
      uint256 targetAmount;
    }
    KolOffering[] private kolOfferings;

    mapping(uint256 => KolOffering[]) private offeringList;

    //_type:1,change supernode;2,change node;3,changeowner;4,mission launched;6,creation issuing;7,recycle token from owner
    function createKolMission(uint16 _type,bytes32 _name,uint256 _totalAmount,address _oldNode,address _newNode) onlyNodes public {
        bytes32 iName = _name;
        if (_type == 2){
          require(isSuperNode[msg.sender]);
          iName = "CHANGE NODE";
        }else if (_type == 3){
          iName = "CHANGE OWNER";
        }else if (_type == 1){
          require(isNode[msg.sender]);
          iName = "CHANGE SUPER NODE";
        }else if ((_type ==4)){
          require((_totalAmount + userSupplyed) <= totalUserSupply);
        }else if (_type ==6){
          require((_totalAmount + nodeSupplyed) <= totalNodeSupply);
          iName = "CREATION ISSUING";
        }else if (_type ==7){
          iName = "RECYCLE TOKEN FROM OWNER";
        }
        missionList[missionId] = KolMission(_oldNode,
                                            _newNode,
                                            uint256(now),
                                            uint256(now + dealTime),
                                            _totalAmount,
                                            0,
                                            iName,
                                            0,
                                            0,
                                            0,
                                            0,
                                            false,
                                            false,
                                            false);

        missionId++;
        emit MissionLaunched(iName,missionId-1,msg.sender);
    }
    function addKolOffering(uint256 _missionId,address _target,uint256 _targetAmount) onlyNodes public{
      require(missionList[_missionId].superPassed);
      require(!missionList[_missionId].done);
      if (missionList[_missionId].name == "CREATION ISSUING"){
        require(isNode[_target]||isSuperNode[_target]);
      }
      require(missionList[_missionId].offeringAmount.add(_targetAmount) <= missionList[_missionId].totalAmount);
      offeringList[_missionId].push(KolOffering(_target,_targetAmount));
      missionList[_missionId].offeringAmount = missionList[_missionId].offeringAmount.add(_targetAmount);

    }
    function missionPassed(uint256 _missionId) private {
      if ((missionList[_missionId].name != "CHANGE SUPER NODE") &&
              (missionList[_missionId].name != "CHANGE NODE") &&
              (missionList[_missionId].name != "CHANGE OWNER") &&
              (missionList[_missionId].name != "RECYCLE TOKEN FROM OWNER")){
          emit MissionPassed(_missionId,missionList[_missionId].name);
        }

    }
    //once voting passed,excute auto;
    function excuteAuto(uint256 _missionId) private {
      if ((missionList[_missionId].name == "CHANGE NODE") && missionList[_missionId].superPassed){
        require(isNode[missionList[_missionId].oldNode]);
        require(!isSuperNode[missionList[_missionId].newNode]);
        isNode[missionList[_missionId].oldNode] = false;
        isNode[missionList[_missionId].newNode] = true;
        missionList[_missionId].done = true;
        emit NodeChanged(2,missionList[_missionId].oldNode,missionList[_missionId].newNode);
      }else if ((missionList[_missionId].name == "CHANGE SUPER NODE") && missionList[_missionId].nodePassed){
        require(isSuperNode[missionList[_missionId].oldNode]);
        require(!isSuperNode[missionList[_missionId].newNode]);
        isSuperNode[missionList[_missionId].oldNode] = false;
        isSuperNode[missionList[_missionId].newNode] = true;
        missionList[_missionId].done = true;
        emit NodeChanged(1,missionList[_missionId].oldNode,missionList[_missionId].newNode);
      }else if ((missionList[_missionId].name == "CHANGE OWNER") && missionList[_missionId].nodePassed){
        emit NodeChanged(3,owner,missionList[_missionId].newNode);
        _transferOwnership(missionList[_missionId].newNode);
        missionList[_missionId].done = true;
      }else if ((missionList[_missionId].name == "RECYCLE TOKEN FROM OWNER") && missionList[_missionId].nodePassed){
        burn(missionList[_missionId].totalAmount);
        emit RecycleTokens(_missionId,missionList[_missionId].totalAmount);
        missionList[_missionId].done = true;
      }
    }
    //_type,1,supernode;2,node
    function voteMission(uint16 _type,uint256 _missionId,bool _agree) onlyNodes public{
      require(!Voter[msg.sender][_missionId]);
      require(!missionList[_missionId].done);
      uint16 minNodesNum = minNodes;
      uint16 minSuperNodesNum = minSuperNodes;
      uint16 passNodes = halfNodes;
      uint16 passSuperNodes = halfSuperNodes;
      uint16 rate = half;
      if (missionList[_missionId].name == "CHANGE OWNER") {
        rate = most;
        minNodesNum = totalNodes;
        passNodes = mostNodes;
      }else if (missionList[_missionId].name == "CHANGE NODE"){
        rate = less;
        minSuperNodesNum = minSuperNodes;
        passSuperNodes = halfSuperNodes;
      }else if (missionList[_missionId].name == "CHANGE SUPER NODE"){
        rate = less;
        minNodesNum = minNodes;
        passNodes = halfNodes;
      }else if (missionList[_missionId].name == "CREATION ISSUING"){
        minNodesNum = minNodes;
        passNodes = halfNodes;
        minSuperNodesNum = minSuperNodes;
        passSuperNodes = halfSuperNodes;
      }else if (missionList[_missionId].name == "RECYCLE TOKEN FROM OWNER"){
        minNodesNum = minNodes;
        passNodes = halfNodes;
      }

      if (_type == 1){
        require(isSuperNode[msg.sender]);
      }else if (_type ==2){
        require(isNode[msg.sender]);
      }

      if(now > missionList[_missionId].endTime){
        if ( _type == 1 ){
          if (
            (missionList[_missionId].agreeSuperNodes + missionList[_missionId].refuseSuperNodes)>=minSuperNodesNum
            &&
            missionList[_missionId].agreeSuperNodes >= (missionList[_missionId].agreeSuperNodes + missionList[_missionId].refuseSuperNodes) * rate/100
            ){
              missionList[_missionId].superPassed = true;
              missionPassed(_missionId);
          }
        }else if (_type ==2 ){
          //节点投票
          if (
            (missionList[_missionId].agreeNodes + missionList[_missionId].refuseNodes)>=minNodesNum
            &&
            missionList[_missionId].agreeNodes >= (missionList[_missionId].refuseNodes + missionList[_missionId].refuseNodes) * rate/100
            ){
              missionList[_missionId].nodePassed = true;
          }
        }
      }else{
        if(_agree == true){
          if (_type == 1){
            missionList[_missionId].agreeSuperNodes++;
          }else if(_type == 2){
            missionList[_missionId].agreeNodes++;
          }
        }
        else{
          if (_type == 1){
            missionList[_missionId].refuseSuperNodes++;
          }else if(_type == 2){
            missionList[_missionId].refuseNodes++;
          }
        }
        if (_type == 1){
          if (missionList[_missionId].agreeSuperNodes >= passSuperNodes) {
              missionList[_missionId].superPassed = true;
              missionPassed(_missionId);
          }else if (missionList[_missionId].refuseSuperNodes >= passSuperNodes) {
              missionList[_missionId].done = true;
          }
        }else if (_type ==2){
          if (missionList[_missionId].agreeNodes >= passNodes) {
              missionList[_missionId].nodePassed = true;
          }else if (missionList[_missionId].refuseNodes >= passNodes) {
              missionList[_missionId].done = true;
          }
        }
      }
      Voter[msg.sender][_missionId] = true;
      excuteAuto(_missionId);
    }

    function excuteVote(uint256 _missionId) onlyOwner public {
      require(!missionList[_missionId].done);
      require(uint256(now) < (missionList[_missionId].endTime + uint256(dealTime)));

      require(missionList[_missionId].superPassed);
      require(missionList[_missionId].nodePassed);
      require(missionList[_missionId].totalAmount == missionList[_missionId].offeringAmount);
      require((missionList[_missionId].totalAmount.add(totalSupplyed))<=totalNodeSupply.add(totalUserSupply));

      if (missionList[_missionId].name == "CREATION ISSUING"){
        require((nodeSupplyed.add(missionList[_missionId].totalAmount))<=totalNodeSupply);
      }else{
        require((userSupplyed.add(missionList[_missionId].totalAmount))<=totalUserSupply);
      }
      for (uint m = 0; m < offeringList[_missionId].length; m++){
        balances[offeringList[_missionId][m].target] = balances[offeringList[_missionId][m].target].add(offeringList[_missionId][m].targetAmount);
        emit Transfer(msg.sender,offeringList[_missionId][m].target,offeringList[_missionId][m].targetAmount);
      }
      totalSupplyed = totalSupplyed.add(missionList[_missionId].totalAmount);

      if (missionList[_missionId].name == "CREATION ISSUING"){
        nodeSupplyed = nodeSupplyed.add(missionList[_missionId].totalAmount);
      }else{
        userSupplyed = userSupplyed.add(missionList[_missionId].totalAmount);
      }
      missionList[_missionId].done = true;
      emit OfferingFinished(_missionId,missionList[_missionId].offeringAmount,offeringList[_missionId].length);

    }
    function getMission1(uint256 _missionId) public view returns(address,
                                                              address,
                                                              uint256,
                                                              uint256,
                                                              uint256,
                                                              uint256,
                                                              bytes32){
      return(missionList[_missionId].oldNode,
              missionList[_missionId].newNode,
              missionList[_missionId].startTime,
              missionList[_missionId].endTime,
              missionList[_missionId].totalAmount,
              missionList[_missionId].offeringAmount,
              missionList[_missionId].name);
    }
    function getMission2(uint256 _missionId) public view returns(uint16,
                                                                uint16,
                                                                uint16,
                                                                uint16,
                                                                bool,
                                                                bool,
                                                                bool){
      return(
            missionList[_missionId].agreeNodes,
            missionList[_missionId].refuseNodes,
            missionList[_missionId].agreeSuperNodes,
            missionList[_missionId].refuseSuperNodes,
            missionList[_missionId].superPassed,
            missionList[_missionId].nodePassed,
            missionList[_missionId].done);
    }
    function getOfferings(uint256 _missionId,uint256 _id) public view returns(address,uint256,uint256){
      return(offeringList[_missionId][_id].target,offeringList[_missionId][_id].targetAmount,offeringList[_missionId].length);
    }
    function voted(address _node,uint256 _missionId) public view returns(bool){
      return Voter[_node][_missionId];
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_missionId","type":"uint256"}],"name":"excuteVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"superNodeAddress","type":"address"}],"name":"setSuperNode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"superNodesNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minSuperNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_missionId","type":"uint256"},{"name":"_id","type":"uint256"}],"name":"getOfferings","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"most","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DECIMALS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"halfSuperNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_missionId","type":"uint256"},{"name":"_target","type":"address"},{"name":"_targetAmount","type":"uint256"}],"name":"addKolOffering","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nodesNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint16"},{"name":"_missionId","type":"uint256"},{"name":"_agree","type":"bool"}],"name":"voteMission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"userSupplyed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalNodeSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"construct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mostNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSuperNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUserSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_type","type":"uint16"},{"name":"_name","type":"bytes32"},{"name":"_totalAmount","type":"uint256"},{"name":"_oldNode","type":"address"},{"name":"_newNode","type":"address"}],"name":"createKolMission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"missionId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"queryNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_missionId","type":"uint256"}],"name":"getMission2","outputs":[{"name":"","type":"uint16"},{"name":"","type":"uint16"},{"name":"","type":"uint16"},{"name":"","type":"uint16"},{"name":"","type":"bool"},{"name":"","type":"bool"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nodeAddress","type":"address"}],"name":"setNode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dealTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"querySuperNode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_node","type":"address"},{"name":"_missionId","type":"uint256"}],"name":"voted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"less","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_missionId","type":"uint256"}],"name":"getMission1","outputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"halfNodes","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nodeSupplyed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ethFundDeposit","type":"address"}],"name":"setEthFundDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"transferETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"half","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_missionId","type":"uint256"},{"indexed":false,"name":"_name","type":"bytes32"}],"name":"MissionPassed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_missionId","type":"uint256"},{"indexed":false,"name":"_totalAmount","type":"uint256"},{"indexed":false,"name":"_length","type":"uint256"}],"name":"OfferingFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_missionId","type":"uint256"},{"indexed":false,"name":"_totalAmount","type":"uint256"}],"name":"RecycleTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_type","type":"uint16"},{"indexed":false,"name":"_oldNode","type":"address"},{"indexed":false,"name":"_newNode","type":"address"}],"name":"NodeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"bytes32"},{"indexed":false,"name":"_missionId","type":"uint256"},{"indexed":false,"name":"_whoLaunch","type":"address"}],"name":"MissionLaunched","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526040805190810160405280601681526020017f4b4f4c20436f6d6d756e69747920416c6c69616e63650000000000000000000081525060039080519060200190620000519291906200011e565b506040805190810160405280600381526020017f4b4f4c0000000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f9291906200011e565b5060126005556012600a0a6301406f4002600655600060075560006009556000600a556000600b556000600c556203f480600d556000600e55336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001cd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016157805160ff191683800117855562000192565b8280016001018555821562000192579182015b828111156200019157825182559160200191906001019062000174565b5b509050620001a19190620001a5565b5090565b620001ca91905b80821115620001c6576000816000905550600101620001ac565b5090565b90565b6151d180620001dd6000396000f300608060405260043610610246576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301424b2c1461024b57806306fdde0314610278578063095ea7b31461030857806318160ddd1461036d5780631e81862a1461039857806323b872dd146103db578063313ce5671461046057806335c31e141461048b57806349512214146104b65780635797654d146104e95780635883f0321461051c57806358d7889c146105a15780635b7f415c146105d457806366188463146105ff5780636bfa24ea1461066457806370a08231146106975780637291437c146106ee5780637db129871461074557806384312e721461077057806389df13a9146107b75780638a0a59d5146107e25780638da5cb5b1461080d57806394b91deb146108645780639592d4241461087b57806395d89b41146108ae5780639625e0fb1461093e57806399619fa6146109715780639eba02ff146109a4578063a81c3bdf146109cf578063a9059cbb14610a26578063ae5c12fc14610a8b578063af26b76214610b14578063b9f8c99714610b3f578063bac3098114610b6a578063bbc1a30014610bc5578063c21d5ab714610c5c578063c446b6de14610c9f578063c4a1dbad14610cca578063c591aa9814610d25578063d0b4237314610d8a578063d23db1cd14610dbd578063d73dd62314610e88578063d886ad4914610eed578063d88f111f14610f20578063d903744114610f4b578063dd62ed3e14610f8e578063e28d717b14611005578063f6a6462c1461101c575b600080fd5b34801561025757600080fd5b506102766004803603810190808035906020019092919050505061104f565b005b34801561028457600080fd5b5061028d6116c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b50610353600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611763565b604051808215151515815260200191505060405180910390f35b34801561037957600080fd5b50610382611855565b6040518082815260200191505060405180910390f35b3480156103a457600080fd5b506103d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185b565b005b3480156103e757600080fd5b50610446600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611991565b604051808215151515815260200191505060405180910390f35b34801561046c57600080fd5b50610475611dad565b6040518082815260200191505060405180910390f35b34801561049757600080fd5b506104a0611db3565b6040518082815260200191505060405180910390f35b3480156104c257600080fd5b506104cb611db9565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156104f557600080fd5b506104fe611dbe565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561052857600080fd5b506105516004803603810190808035906020019092919080359060200190929190505050611dc3565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b3480156105ad57600080fd5b506105b6611e70565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611e75565b6040518082815260200191505060405180910390f35b34801561060b57600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e7a565b604051808215151515815260200191505060405180910390f35b34801561067057600080fd5b5061067961210c565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156106a357600080fd5b506106d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612111565b6040518082815260200191505060405180910390f35b3480156106fa57600080fd5b5061074360048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061215a565b005b34801561075157600080fd5b5061075a6124a6565b6040518082815260200191505060405180910390f35b34801561077c57600080fd5b506107b5600480360381019080803561ffff169060200190929190803590602001909291908035151590602001909291905050506124ac565b005b3480156107c357600080fd5b506107cc612ec9565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7612ecf565b6040518082815260200191505060405180910390f35b34801561081957600080fd5b50610822612edc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087057600080fd5b50610879612f01565b005b34801561088757600080fd5b50610890612f44565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3612f4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109035780820151818401526020810190506108e8565b50505050905090810190601f1680156109305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561094a57600080fd5b50610953612fe8565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561097d57600080fd5b50610986612fee565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156109b057600080fd5b506109b9612ff3565b6040518082815260200191505060405180910390f35b3480156109db57600080fd5b506109e4613000565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a3257600080fd5b50610a71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613026565b604051808215151515815260200191505060405180910390f35b348015610a9757600080fd5b50610b12600480360381019080803561ffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132a7565b005b348015610b2057600080fd5b50610b29613877565b6040518082815260200191505060405180910390f35b348015610b4b57600080fd5b50610b5461387d565b6040518082815260200191505060405180910390f35b348015610b7657600080fd5b50610bab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613883565b604051808215151515815260200191505060405180910390f35b348015610bd157600080fd5b50610bf0600480360381019080803590602001909291905050506138d9565b604051808861ffff1661ffff1681526020018761ffff1661ffff1681526020018661ffff1661ffff1681526020018561ffff1661ffff16815260200184151515158152602001831515151581526020018215151515815260200197505050505050505060405180910390f35b348015610c6857600080fd5b50610c9d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139fd565b005b348015610cab57600080fd5b50610cb4613b34565b6040518082815260200191505060405180910390f35b348015610cd657600080fd5b50610d0b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b3a565b604051808215151515815260200191505060405180910390f35b348015610d3157600080fd5b50610d70600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b90565b604051808215151515815260200191505060405180910390f35b348015610d9657600080fd5b50610d9f613bf8565b604051808261ffff1661ffff16815260200191505060405180910390f35b348015610dc957600080fd5b50610de860048036038101908080359060200190929190505050613bfd565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001826000191660001916815260200197505050505050505060405180910390f35b348015610e9457600080fd5b50610ed3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d02565b604051808215151515815260200191505060405180910390f35b348015610ef957600080fd5b50610f02613efe565b604051808261ffff1661ffff16815260200191505060405180910390f35b348015610f2c57600080fd5b50610f35613f03565b6040518082815260200191505060405180910390f35b348015610f5757600080fd5b50610f8c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f09565b005b348015610f9a57600080fd5b50610fef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613fe4565b6040518082815260200191505060405180910390f35b34801561101157600080fd5b5061101a61406b565b005b34801561102857600080fd5b506110316141c6565b604051808261ffff1661ffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ac57600080fd5b60126000838152602001908152602001600020600701600a9054906101000a900460ff161515156110dc57600080fd5b600d546012600084815260200190815260200160002060030154014210151561110457600080fd5b6012600083815260200190815260200160002060070160089054906101000a900460ff16151561113357600080fd5b6012600083815260200190815260200160002060070160099054906101000a900460ff16151561116257600080fd5b6012600083815260200190815260200160002060050154601260008481526020019081526020016000206004015414151561119c57600080fd5b6111c16012600a0a62f42400026012600a0a624c4b40026141cb90919063ffffffff16565b6111ec60075460126000868152602001908152602001600020600401546141cb90919063ffffffff16565b111515156111f957600080fd5b7f4352454154494f4e2049535355494e47000000000000000000000000000000006012600084815260200190815260200160002060060154600019161415611282576012600a0a624c4b400261127060126000858152602001908152602001600020600401546009546141cb90919063ffffffff16565b1115151561127d57600080fd5b6112c5565b6012600a0a62f42400026112b76012600085815260200190815260200160002060040154600a546141cb90919063ffffffff16565b111515156112c457600080fd5b5b600090505b6014600083815260200190815260200160002080549050811015611544576113bc601460008481526020019081526020016000208281548110151561130b57fe5b90600052602060002090600202016001015460016000601460008781526020019081526020016000208581548110151561134157fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b6001600060146000868152602001908152602001600020848154811015156113e057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460008381526020019081526020016000208181548110151561147057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601460008681526020019081526020016000208481548110151561151057fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a380806001019150506112ca565b61156f60126000848152602001908152602001600020600401546007546141cb90919063ffffffff16565b6007819055507f4352454154494f4e2049535355494e470000000000000000000000000000000060126000848152602001908152602001600020600601546000191614156115ed576115e260126000848152602001908152602001600020600401546009546141cb90919063ffffffff16565b60098190555061161f565b6116186012600084815260200190815260200160002060040154600a546141cb90919063ffffffff16565b600a819055505b600160126000848152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f1022a2c4ccad65760f1f251079912a70e8690dba3a6efc0e30332501a68092d5826012600085815260200190815260200160002060050154601460008681526020019081526020016000208054905060405180848152602001838152602001828152602001935050505060405180910390a15050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b657600080fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561190f57600080fd5b601561ffff16600b5410151561192457600080fd5b6001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b6000815480929190600101919050555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156119ef57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a3d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611ac857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b0457600080fd5b611b5682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611beb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbd82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60055481565b600b5481565b606581565b600f81565b60008060006014600086815260200190815260200160002084815481101515611de857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166014600087815260200190815260200160002085815481101515611e3a57fe5b90600052602060002090600202016001015460146000888152602001908152602001600020805490509250925092509250925092565b604381565b601281565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515611f8c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612020565b611f9f83826141e790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600b81565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121fb5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561220657600080fd5b6012600084815260200190815260200160002060070160089054906101000a900460ff16151561223557600080fd5b60126000848152602001908152602001600020600701600a9054906101000a900460ff1615151561226557600080fd5b7f4352454154494f4e2049535355494e4700000000000000000000000000000000601260008581526020019081526020016000206006015460001916141561235457601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123485750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561235357600080fd5b5b60126000848152602001908152602001600020600401546123948260126000878152602001908152602001600020600501546141cb90919063ffffffff16565b111515156123a157600080fd5b6014600084815260200190815260200160002060408051908101604052808473ffffffffffffffffffffffffffffffffffffffff168152602001838152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050506124878160126000868152602001908152602001600020600501546141cb90919063ffffffff16565b6012600085815260200190815260200160002060050181905550505050565b600c5481565b6000806000806000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125555750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561256057600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088815260200190815260200160002060009054906101000a900460ff161515156125ca57600080fd5b60126000888152602001908152602001600020600701600a9054906101000a900460ff161515156125fa57600080fd5b60659450600f935060fb9250600b9150603390507f4348414e4745204f574e45520000000000000000000000000000000000000000601260008981526020019081526020016000206006015460001916141561266357604390506101f4945061014f92506127af565b7f4348414e4745204e4f444500000000000000000000000000000000000000000060126000898152602001908152602001600020600601546000191614156126b65760219050600f9350600b91506127ae565b7f4348414e4745205355504552204e4f4445000000000000000000000000000000601260008981526020019081526020016000206006015460001916141561270957602190506065945060fb92506127ad565b7f4352454154494f4e2049535355494e47000000000000000000000000000000006012600089815260200190815260200160002060060154600019161415612760576065945060fb9250600f9350600b91506127ac565b7f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000060126000898152602001908152602001600020600601546000191614156127ab576065945060fb92505b5b5b5b5b60018861ffff16141561281957600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561281457600080fd5b612880565b60028861ffff16141561287f57601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561287e57600080fd5b5b5b6012600088815260200190815260200160002060030154421115612b0b5760018861ffff1614156129d8578361ffff166012600089815260200190815260200160002060070160069054906101000a900461ffff16601260008a815260200190815260200160002060070160049054906101000a900461ffff160161ffff16101580156129955750606481601260008a815260200190815260200160002060070160069054906101000a900461ffff16601260008b815260200190815260200160002060070160049054906101000a900461ffff16010261ffff1681151561296457fe5b0461ffff166012600089815260200190815260200160002060070160049054906101000a900461ffff1661ffff1610155b156129d35760016012600089815260200190815260200160002060070160086101000a81548160ff0219169083151502179055506129d287614200565b5b612b06565b60028861ffff161415612b05578461ffff166012600089815260200190815260200160002060070160029054906101000a900461ffff16601260008a815260200190815260200160002060070160009054906101000a900461ffff160161ffff1610158015612acf5750606481601260008a815260200190815260200160002060070160029054906101000a900461ffff16601260008b815260200190815260200160002060070160029054906101000a900461ffff16010261ffff16811515612a9e57fe5b0461ffff166012600089815260200190815260200160002060070160009054906101000a900461ffff1661ffff1610155b15612b045760016012600089815260200190815260200160002060070160096101000a81548160ff0219169083151502179055505b5b5b612e4d565b600115158615151415612bd05760018861ffff161415612b735760126000888152602001908152602001600020600701600481819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff16021790555050612bcb565b60028861ffff161415612bca5760126000888152602001908152602001600020600701600081819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff160217905550505b5b612c84565b60018861ffff161415612c2b5760126000888152602001908152602001600020600701600681819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff16021790555050612c83565b60028861ffff161415612c825760126000888152602001908152602001600020600701600281819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff160217905550505b5b5b60018861ffff161415612d6e578161ffff166012600089815260200190815260200160002060070160049054906101000a900461ffff1661ffff16101515612d035760016012600089815260200190815260200160002060070160086101000a81548160ff021916908315150217905550612cfe87614200565b612d69565b8161ffff166012600089815260200190815260200160002060070160069054906101000a900461ffff1661ffff16101515612d6857600160126000898152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b612e4c565b60028861ffff161415612e4b578261ffff166012600089815260200190815260200160002060070160009054906101000a900461ffff1661ffff16101515612de45760016012600089815260200190815260200160002060070160096101000a81548160ff021916908315150217905550612e4a565b8261ffff166012600089815260200190815260200160002060070160029054906101000a900461ffff1661ffff16101515612e4957600160126000898152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b5b5b5b6001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600089815260200190815260200160002060006101000a81548160ff021916908315150217905550612ebf87614376565b5050505050505050565b600a5481565b6012600a0a624c4b400281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6101f481565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612fe05780601f10612fb557610100808354040283529160200191612fe0565b820191906000526020600020905b815481529060010190602001808311612fc357829003601f168201915b505050505081565b61014f81565b601581565b6012600a0a62f424000281565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561308457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156130d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561310e57600080fd5b61316082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061334a5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561335557600080fd5b84905060028661ffff1614156133e557600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156133bd57600080fd5b7f4348414e4745204e4f4445000000000000000000000000000000000000000000905061355c565b60038661ffff16141561341a577f4348414e4745204f574e45520000000000000000000000000000000000000000905061355b565b60018661ffff1614156134a757601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561347f57600080fd5b7f4348414e4745205355504552204e4f4445000000000000000000000000000000905061355a565b60048661ffff1614156134d5576012600a0a62f4240002600a548501111515156134d057600080fd5b613559565b60068661ffff161415613526576012600a0a624c4b40026009548501111515156134fe57600080fd5b7f4352454154494f4e2049535355494e47000000000000000000000000000000009050613558565b60078661ffff161415613557577f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000090505b5b5b5b5b5b6101c0604051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001428152602001600d54420181526020018581526020016000815260200182600019168152602001600061ffff168152602001600061ffff168152602001600061ffff168152602001600061ffff1681526020016000151581526020016000151581526020016000151581525060126000600e54815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006019060001916905560e08201518160070160006101000a81548161ffff021916908361ffff1602179055506101008201518160070160026101000a81548161ffff021916908361ffff1602179055506101208201518160070160046101000a81548161ffff021916908361ffff1602179055506101408201518160070160066101000a81548161ffff021916908361ffff1602179055506101608201518160070160086101000a81548160ff0219169083151502179055506101808201518160070160096101000a81548160ff0219169083151502179055506101a082015181600701600a6101000a81548160ff021916908315150217905550905050600e600081548092919060010191905055507fc96853e9a347a4993a1ab1a2f1f683db63a40fab5e2ce45e29c81b5149c58e46816001600e5403336040518084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050505050565b600e5481565b60075481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060008060008060006012600089815260200190815260200160002060070160009054906101000a900461ffff16601260008a815260200190815260200160002060070160029054906101000a900461ffff16601260008b815260200190815260200160002060070160049054906101000a900461ffff16601260008c815260200190815260200160002060070160069054906101000a900461ffff16601260008d815260200190815260200160002060070160089054906101000a900460ff16601260008e815260200190815260200160002060070160099054906101000a900460ff16601260008f8152602001908152602001600020600701600a9054906101000a900460ff169650965096509650965096509650919395979092949650565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a5857600080fd5b601060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613ab157600080fd5b6101f461ffff16600c54101515613ac757600080fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c6000815480929190600101919050555050565b600d5481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b602181565b60008060008060008060006012600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260008b815260200190815260200160002060020154601260008c815260200190815260200160002060030154601260008d815260200190815260200160002060040154601260008e815260200190815260200160002060050154601260008f8152602001908152602001600020600601549650965096509650965096509650919395979092949650565b6000613d9382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60fb81565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613fa057600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140c657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561412457600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311415151561414b57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156141c457600080fd5b565b603381565b600081830190508281101515156141de57fe5b80905092915050565b60008282111515156141f557fe5b818303905092915050565b7f4348414e4745205355504552204e4f44450000000000000000000000000000006012600083815260200190815260200160002060060154600019161415801561428457507f4348414e4745204e4f444500000000000000000000000000000000000000000060126000838152602001908152602001600020600601546000191614155b80156142ca57507f4348414e4745204f574e4552000000000000000000000000000000000000000060126000838152602001908152602001600020600601546000191614155b801561431057507f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000060126000838152602001908152602001600020600601546000191614155b15614373577f3aa94a81513bec2a88fbe53be130cc208c447c9914b300256c34c95ed7d5d8ab8160126000848152602001908152602001600020600601546040518083815260200182600019166000191681526020019250505060405180910390a15b50565b7f4348414e4745204e4f44450000000000000000000000000000000000000000006012600083815260200190815260200160002060060154600019161480156143df57506012600082815260200190815260200160002060070160089054906101000a900460ff165b1561476157601060006012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561447257600080fd5b600f60006012600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561450157600080fd5b6000601060006012600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060006012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060026012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614e3d565b7f4348414e4745205355504552204e4f44450000000000000000000000000000006012600083815260200190815260200160002060060154600019161480156147ca57506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614b4c57600f60006012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561485d57600080fd5b600f60006012600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156148ec57600080fd5b6000600f60006012600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60006012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060016012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614e3c565b7f4348414e4745204f574e45520000000000000000000000000000000000000000601260008381526020019081526020016000206006015460001916148015614bb557506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614d28577f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060036000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614cf46012600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16614e40565b600160126000838152602001908152602001600020600701600a6101000a81548160ff021916908315150217905550614e3b565b7f52454359434c4520544f4b454e2046524f4d204f574e45520000000000000000601260008381526020019081526020016000206006015460001916148015614d9157506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614e3a57614db56012600083815260200190815260200160002060040154614f3a565b7f2a5f91af01292d01793d956cecd32d065c3732c93d895036a09a0df0e967c80d816012600084815260200190815260200160002060040154604051808381526020018281526020019250505060405180910390a1600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b5b5b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614e7c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515614fa957600080fd5b6006548111151515614fba57600080fd5b61502d81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506150a6816006546141e790919063ffffffff16565b6006819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505600a165627a7a72305820f89869b4e7d5dfeaba4fd2970ea9ac81ad44a6f9e833703cf1e45756209a33320029

Deployed Bytecode

0x608060405260043610610246576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301424b2c1461024b57806306fdde0314610278578063095ea7b31461030857806318160ddd1461036d5780631e81862a1461039857806323b872dd146103db578063313ce5671461046057806335c31e141461048b57806349512214146104b65780635797654d146104e95780635883f0321461051c57806358d7889c146105a15780635b7f415c146105d457806366188463146105ff5780636bfa24ea1461066457806370a08231146106975780637291437c146106ee5780637db129871461074557806384312e721461077057806389df13a9146107b75780638a0a59d5146107e25780638da5cb5b1461080d57806394b91deb146108645780639592d4241461087b57806395d89b41146108ae5780639625e0fb1461093e57806399619fa6146109715780639eba02ff146109a4578063a81c3bdf146109cf578063a9059cbb14610a26578063ae5c12fc14610a8b578063af26b76214610b14578063b9f8c99714610b3f578063bac3098114610b6a578063bbc1a30014610bc5578063c21d5ab714610c5c578063c446b6de14610c9f578063c4a1dbad14610cca578063c591aa9814610d25578063d0b4237314610d8a578063d23db1cd14610dbd578063d73dd62314610e88578063d886ad4914610eed578063d88f111f14610f20578063d903744114610f4b578063dd62ed3e14610f8e578063e28d717b14611005578063f6a6462c1461101c575b600080fd5b34801561025757600080fd5b506102766004803603810190808035906020019092919050505061104f565b005b34801561028457600080fd5b5061028d6116c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5780820151818401526020810190506102b2565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031457600080fd5b50610353600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611763565b604051808215151515815260200191505060405180910390f35b34801561037957600080fd5b50610382611855565b6040518082815260200191505060405180910390f35b3480156103a457600080fd5b506103d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185b565b005b3480156103e757600080fd5b50610446600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611991565b604051808215151515815260200191505060405180910390f35b34801561046c57600080fd5b50610475611dad565b6040518082815260200191505060405180910390f35b34801561049757600080fd5b506104a0611db3565b6040518082815260200191505060405180910390f35b3480156104c257600080fd5b506104cb611db9565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156104f557600080fd5b506104fe611dbe565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561052857600080fd5b506105516004803603810190808035906020019092919080359060200190929190505050611dc3565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b3480156105ad57600080fd5b506105b6611e70565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611e75565b6040518082815260200191505060405180910390f35b34801561060b57600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e7a565b604051808215151515815260200191505060405180910390f35b34801561067057600080fd5b5061067961210c565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156106a357600080fd5b506106d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612111565b6040518082815260200191505060405180910390f35b3480156106fa57600080fd5b5061074360048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061215a565b005b34801561075157600080fd5b5061075a6124a6565b6040518082815260200191505060405180910390f35b34801561077c57600080fd5b506107b5600480360381019080803561ffff169060200190929190803590602001909291908035151590602001909291905050506124ac565b005b3480156107c357600080fd5b506107cc612ec9565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7612ecf565b6040518082815260200191505060405180910390f35b34801561081957600080fd5b50610822612edc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087057600080fd5b50610879612f01565b005b34801561088757600080fd5b50610890612f44565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3612f4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109035780820151818401526020810190506108e8565b50505050905090810190601f1680156109305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561094a57600080fd5b50610953612fe8565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561097d57600080fd5b50610986612fee565b604051808261ffff1661ffff16815260200191505060405180910390f35b3480156109b057600080fd5b506109b9612ff3565b6040518082815260200191505060405180910390f35b3480156109db57600080fd5b506109e4613000565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a3257600080fd5b50610a71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613026565b604051808215151515815260200191505060405180910390f35b348015610a9757600080fd5b50610b12600480360381019080803561ffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132a7565b005b348015610b2057600080fd5b50610b29613877565b6040518082815260200191505060405180910390f35b348015610b4b57600080fd5b50610b5461387d565b6040518082815260200191505060405180910390f35b348015610b7657600080fd5b50610bab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613883565b604051808215151515815260200191505060405180910390f35b348015610bd157600080fd5b50610bf0600480360381019080803590602001909291905050506138d9565b604051808861ffff1661ffff1681526020018761ffff1661ffff1681526020018661ffff1661ffff1681526020018561ffff1661ffff16815260200184151515158152602001831515151581526020018215151515815260200197505050505050505060405180910390f35b348015610c6857600080fd5b50610c9d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139fd565b005b348015610cab57600080fd5b50610cb4613b34565b6040518082815260200191505060405180910390f35b348015610cd657600080fd5b50610d0b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b3a565b604051808215151515815260200191505060405180910390f35b348015610d3157600080fd5b50610d70600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b90565b604051808215151515815260200191505060405180910390f35b348015610d9657600080fd5b50610d9f613bf8565b604051808261ffff1661ffff16815260200191505060405180910390f35b348015610dc957600080fd5b50610de860048036038101908080359060200190929190505050613bfd565b604051808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001826000191660001916815260200197505050505050505060405180910390f35b348015610e9457600080fd5b50610ed3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d02565b604051808215151515815260200191505060405180910390f35b348015610ef957600080fd5b50610f02613efe565b604051808261ffff1661ffff16815260200191505060405180910390f35b348015610f2c57600080fd5b50610f35613f03565b6040518082815260200191505060405180910390f35b348015610f5757600080fd5b50610f8c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f09565b005b348015610f9a57600080fd5b50610fef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613fe4565b6040518082815260200191505060405180910390f35b34801561101157600080fd5b5061101a61406b565b005b34801561102857600080fd5b506110316141c6565b604051808261ffff1661ffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ac57600080fd5b60126000838152602001908152602001600020600701600a9054906101000a900460ff161515156110dc57600080fd5b600d546012600084815260200190815260200160002060030154014210151561110457600080fd5b6012600083815260200190815260200160002060070160089054906101000a900460ff16151561113357600080fd5b6012600083815260200190815260200160002060070160099054906101000a900460ff16151561116257600080fd5b6012600083815260200190815260200160002060050154601260008481526020019081526020016000206004015414151561119c57600080fd5b6111c16012600a0a62f42400026012600a0a624c4b40026141cb90919063ffffffff16565b6111ec60075460126000868152602001908152602001600020600401546141cb90919063ffffffff16565b111515156111f957600080fd5b7f4352454154494f4e2049535355494e47000000000000000000000000000000006012600084815260200190815260200160002060060154600019161415611282576012600a0a624c4b400261127060126000858152602001908152602001600020600401546009546141cb90919063ffffffff16565b1115151561127d57600080fd5b6112c5565b6012600a0a62f42400026112b76012600085815260200190815260200160002060040154600a546141cb90919063ffffffff16565b111515156112c457600080fd5b5b600090505b6014600083815260200190815260200160002080549050811015611544576113bc601460008481526020019081526020016000208281548110151561130b57fe5b90600052602060002090600202016001015460016000601460008781526020019081526020016000208581548110151561134157fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b6001600060146000868152602001908152602001600020848154811015156113e057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460008381526020019081526020016000208181548110151561147057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601460008681526020019081526020016000208481548110151561151057fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a380806001019150506112ca565b61156f60126000848152602001908152602001600020600401546007546141cb90919063ffffffff16565b6007819055507f4352454154494f4e2049535355494e470000000000000000000000000000000060126000848152602001908152602001600020600601546000191614156115ed576115e260126000848152602001908152602001600020600401546009546141cb90919063ffffffff16565b60098190555061161f565b6116186012600084815260200190815260200160002060040154600a546141cb90919063ffffffff16565b600a819055505b600160126000848152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f1022a2c4ccad65760f1f251079912a70e8690dba3a6efc0e30332501a68092d5826012600085815260200190815260200160002060050154601460008681526020019081526020016000208054905060405180848152602001838152602001828152602001935050505060405180910390a15050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b657600080fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561190f57600080fd5b601561ffff16600b5410151561192457600080fd5b6001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b6000815480929190600101919050555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156119ef57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a3d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611ac857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b0457600080fd5b611b5682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611beb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbd82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60055481565b600b5481565b606581565b600f81565b60008060006014600086815260200190815260200160002084815481101515611de857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166014600087815260200190815260200160002085815481101515611e3a57fe5b90600052602060002090600202016001015460146000888152602001908152602001600020805490509250925092509250925092565b604381565b601281565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515611f8c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612020565b611f9f83826141e790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600b81565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121fb5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561220657600080fd5b6012600084815260200190815260200160002060070160089054906101000a900460ff16151561223557600080fd5b60126000848152602001908152602001600020600701600a9054906101000a900460ff1615151561226557600080fd5b7f4352454154494f4e2049535355494e4700000000000000000000000000000000601260008581526020019081526020016000206006015460001916141561235457601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123485750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561235357600080fd5b5b60126000848152602001908152602001600020600401546123948260126000878152602001908152602001600020600501546141cb90919063ffffffff16565b111515156123a157600080fd5b6014600084815260200190815260200160002060408051908101604052808473ffffffffffffffffffffffffffffffffffffffff168152602001838152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050506124878160126000868152602001908152602001600020600501546141cb90919063ffffffff16565b6012600085815260200190815260200160002060050181905550505050565b600c5481565b6000806000806000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125555750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561256057600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088815260200190815260200160002060009054906101000a900460ff161515156125ca57600080fd5b60126000888152602001908152602001600020600701600a9054906101000a900460ff161515156125fa57600080fd5b60659450600f935060fb9250600b9150603390507f4348414e4745204f574e45520000000000000000000000000000000000000000601260008981526020019081526020016000206006015460001916141561266357604390506101f4945061014f92506127af565b7f4348414e4745204e4f444500000000000000000000000000000000000000000060126000898152602001908152602001600020600601546000191614156126b65760219050600f9350600b91506127ae565b7f4348414e4745205355504552204e4f4445000000000000000000000000000000601260008981526020019081526020016000206006015460001916141561270957602190506065945060fb92506127ad565b7f4352454154494f4e2049535355494e47000000000000000000000000000000006012600089815260200190815260200160002060060154600019161415612760576065945060fb9250600f9350600b91506127ac565b7f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000060126000898152602001908152602001600020600601546000191614156127ab576065945060fb92505b5b5b5b5b60018861ffff16141561281957600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561281457600080fd5b612880565b60028861ffff16141561287f57601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561287e57600080fd5b5b5b6012600088815260200190815260200160002060030154421115612b0b5760018861ffff1614156129d8578361ffff166012600089815260200190815260200160002060070160069054906101000a900461ffff16601260008a815260200190815260200160002060070160049054906101000a900461ffff160161ffff16101580156129955750606481601260008a815260200190815260200160002060070160069054906101000a900461ffff16601260008b815260200190815260200160002060070160049054906101000a900461ffff16010261ffff1681151561296457fe5b0461ffff166012600089815260200190815260200160002060070160049054906101000a900461ffff1661ffff1610155b156129d35760016012600089815260200190815260200160002060070160086101000a81548160ff0219169083151502179055506129d287614200565b5b612b06565b60028861ffff161415612b05578461ffff166012600089815260200190815260200160002060070160029054906101000a900461ffff16601260008a815260200190815260200160002060070160009054906101000a900461ffff160161ffff1610158015612acf5750606481601260008a815260200190815260200160002060070160029054906101000a900461ffff16601260008b815260200190815260200160002060070160029054906101000a900461ffff16010261ffff16811515612a9e57fe5b0461ffff166012600089815260200190815260200160002060070160009054906101000a900461ffff1661ffff1610155b15612b045760016012600089815260200190815260200160002060070160096101000a81548160ff0219169083151502179055505b5b5b612e4d565b600115158615151415612bd05760018861ffff161415612b735760126000888152602001908152602001600020600701600481819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff16021790555050612bcb565b60028861ffff161415612bca5760126000888152602001908152602001600020600701600081819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff160217905550505b5b612c84565b60018861ffff161415612c2b5760126000888152602001908152602001600020600701600681819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff16021790555050612c83565b60028861ffff161415612c825760126000888152602001908152602001600020600701600281819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff160217905550505b5b5b60018861ffff161415612d6e578161ffff166012600089815260200190815260200160002060070160049054906101000a900461ffff1661ffff16101515612d035760016012600089815260200190815260200160002060070160086101000a81548160ff021916908315150217905550612cfe87614200565b612d69565b8161ffff166012600089815260200190815260200160002060070160069054906101000a900461ffff1661ffff16101515612d6857600160126000898152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b612e4c565b60028861ffff161415612e4b578261ffff166012600089815260200190815260200160002060070160009054906101000a900461ffff1661ffff16101515612de45760016012600089815260200190815260200160002060070160096101000a81548160ff021916908315150217905550612e4a565b8261ffff166012600089815260200190815260200160002060070160029054906101000a900461ffff1661ffff16101515612e4957600160126000898152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b5b5b5b6001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600089815260200190815260200160002060006101000a81548160ff021916908315150217905550612ebf87614376565b5050505050505050565b600a5481565b6012600a0a624c4b400281565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6101f481565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612fe05780601f10612fb557610100808354040283529160200191612fe0565b820191906000526020600020905b815481529060010190602001808311612fc357829003601f168201915b505050505081565b61014f81565b601581565b6012600a0a62f424000281565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561308457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156130d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561310e57600080fd5b61316082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061334a5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561335557600080fd5b84905060028661ffff1614156133e557600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156133bd57600080fd5b7f4348414e4745204e4f4445000000000000000000000000000000000000000000905061355c565b60038661ffff16141561341a577f4348414e4745204f574e45520000000000000000000000000000000000000000905061355b565b60018661ffff1614156134a757601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561347f57600080fd5b7f4348414e4745205355504552204e4f4445000000000000000000000000000000905061355a565b60048661ffff1614156134d5576012600a0a62f4240002600a548501111515156134d057600080fd5b613559565b60068661ffff161415613526576012600a0a624c4b40026009548501111515156134fe57600080fd5b7f4352454154494f4e2049535355494e47000000000000000000000000000000009050613558565b60078661ffff161415613557577f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000090505b5b5b5b5b5b6101c0604051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001428152602001600d54420181526020018581526020016000815260200182600019168152602001600061ffff168152602001600061ffff168152602001600061ffff168152602001600061ffff1681526020016000151581526020016000151581526020016000151581525060126000600e54815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006019060001916905560e08201518160070160006101000a81548161ffff021916908361ffff1602179055506101008201518160070160026101000a81548161ffff021916908361ffff1602179055506101208201518160070160046101000a81548161ffff021916908361ffff1602179055506101408201518160070160066101000a81548161ffff021916908361ffff1602179055506101608201518160070160086101000a81548160ff0219169083151502179055506101808201518160070160096101000a81548160ff0219169083151502179055506101a082015181600701600a6101000a81548160ff021916908315150217905550905050600e600081548092919060010191905055507fc96853e9a347a4993a1ab1a2f1f683db63a40fab5e2ce45e29c81b5149c58e46816001600e5403336040518084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050505050565b600e5481565b60075481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060008060008060006012600089815260200190815260200160002060070160009054906101000a900461ffff16601260008a815260200190815260200160002060070160029054906101000a900461ffff16601260008b815260200190815260200160002060070160049054906101000a900461ffff16601260008c815260200190815260200160002060070160069054906101000a900461ffff16601260008d815260200190815260200160002060070160089054906101000a900460ff16601260008e815260200190815260200160002060070160099054906101000a900460ff16601260008f8152602001908152602001600020600701600a9054906101000a900460ff169650965096509650965096509650919395979092949650565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a5857600080fd5b601060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613ab157600080fd5b6101f461ffff16600c54101515613ac757600080fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c6000815480929190600101919050555050565b600d5481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b602181565b60008060008060008060006012600089815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260008a815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260008b815260200190815260200160002060020154601260008c815260200190815260200160002060030154601260008d815260200190815260200160002060040154601260008e815260200190815260200160002060050154601260008f8152602001908152602001600020600601549650965096509650965096509650919395979092949650565b6000613d9382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141cb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60fb81565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613fa057600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140c657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561412457600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311415151561414b57600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156141c457600080fd5b565b603381565b600081830190508281101515156141de57fe5b80905092915050565b60008282111515156141f557fe5b818303905092915050565b7f4348414e4745205355504552204e4f44450000000000000000000000000000006012600083815260200190815260200160002060060154600019161415801561428457507f4348414e4745204e4f444500000000000000000000000000000000000000000060126000838152602001908152602001600020600601546000191614155b80156142ca57507f4348414e4745204f574e4552000000000000000000000000000000000000000060126000838152602001908152602001600020600601546000191614155b801561431057507f52454359434c4520544f4b454e2046524f4d204f574e4552000000000000000060126000838152602001908152602001600020600601546000191614155b15614373577f3aa94a81513bec2a88fbe53be130cc208c447c9914b300256c34c95ed7d5d8ab8160126000848152602001908152602001600020600601546040518083815260200182600019166000191681526020019250505060405180910390a15b50565b7f4348414e4745204e4f44450000000000000000000000000000000000000000006012600083815260200190815260200160002060060154600019161480156143df57506012600082815260200190815260200160002060070160089054906101000a900460ff165b1561476157601060006012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561447257600080fd5b600f60006012600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561450157600080fd5b6000601060006012600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060006012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060026012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614e3d565b7f4348414e4745205355504552204e4f44450000000000000000000000000000006012600083815260200190815260200160002060060154600019161480156147ca57506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614b4c57600f60006012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561485d57600080fd5b600f60006012600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156148ec57600080fd5b6000600f60006012600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60006012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055507f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060016012600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614e3c565b7f4348414e4745204f574e45520000000000000000000000000000000000000000601260008381526020019081526020016000206006015460001916148015614bb557506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614d28577f2fec96f7509500b10857cfc0f8b8a6fe8ad1d6380276b897f72eb91a0a79e0c060036000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1614cf46012600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16614e40565b600160126000838152602001908152602001600020600701600a6101000a81548160ff021916908315150217905550614e3b565b7f52454359434c4520544f4b454e2046524f4d204f574e45520000000000000000601260008381526020019081526020016000206006015460001916148015614d9157506012600082815260200190815260200160002060070160099054906101000a900460ff165b15614e3a57614db56012600083815260200190815260200160002060040154614f3a565b7f2a5f91af01292d01793d956cecd32d065c3732c93d895036a09a0df0e967c80d816012600084815260200190815260200160002060040154604051808381526020018281526020019250505060405180910390a1600160126000838152602001908152602001600020600701600a6101000a81548160ff0219169083151502179055505b5b5b5b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614e7c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515614fa957600080fd5b6006548111151515614fba57600080fd5b61502d81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141e790919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506150a6816006546141e790919063ffffffff16565b6006819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505600a165627a7a72305820f89869b4e7d5dfeaba4fd2970ea9ac81ad44a6f9e833703cf1e45756209a33320029

Deployed Bytecode Sourcemap

7042:14859:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18183:1606;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18183:1606:0;;;;;;;;;;;;;;;;;;;;;;;;;;5699:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5699:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5699:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4443:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5833:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5833:68:0;;;;;;;;;;;;;;;;;;;;;;;8675:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8675:238:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3922:517;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3922:517:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5786:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5786:40:0;;;;;;;;;;;;;;;;;;;;;;;7328:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7328:32:0;;;;;;;;;;;;;;;;;;;;;;;6270:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6270:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6222:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6222:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21536:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21536:234:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6316:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6316:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5647:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5647:43:0;;;;;;;;;;;;;;;;;;;;;;;5120:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5120:447:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6083:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6083:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3690:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3690:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11906:633;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11906:633:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7367:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7367:27:0;;;;;;;;;;;;;;;;;;;;;;;14675:3500;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14675:3500:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7288:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7288:31:0;;;;;;;;;;;;;;;;;;;;;;;7075:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7075:80:0;;;;;;;;;;;;;;;;;;;;;;;2097:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2097:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6435:74:0;;;;;;6037:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6037:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5751:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5751:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5751:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6132:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6132:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5987:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5987:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7162:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7162:81:0;;;;;;;;;;;;;;;;;;;;;;;5949:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5949:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3322:364;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3322:364:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10286:1614;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10286:1614:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7441:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7441:28:0;;;;;;;;;;;;;;;;;;;;;;;5910:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5910:32:0;;;;;;;;;;;;;;;;;;;;;;;9237:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9237:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20656:874;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20656:874:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8921:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8921:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7401:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7401:33:0;;;;;;;;;;;;;;;;;;;;;;;9124:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9124:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21776:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21776:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6394:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6394:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19795:855;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19795:855:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:307;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4807:307:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6177:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6177:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7250:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7250:31:0;;;;;;;;;;;;;;;;;;;;;;;6515:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6515:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4639:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4639:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6692:204:0;;;;;;6355:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6355:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18183:1606;18974:6;2331:5;;;;;;;;;;;2317:19;;:10;:19;;;2309:28;;;;;;;;18258:11;:23;18270:10;18258:23;;;;;;;;;;;:28;;;;;;;;;;;;18257:29;18249:38;;;;;;;;18362:8;;18320:11;:23;18332:10;18320:23;;;;;;;;;;;:31;;;:51;18312:3;18304:68;18296:77;;;;;;;;18392:11;:23;18404:10;18392:23;;;;;;;;;;;:35;;;;;;;;;;;;18384:44;;;;;;;;18445:11;:23;18457:10;18445:23;;;;;;;;;;;:34;;;;;;;;;;;;18437:43;;;;;;;;18536:11;:23;18548:10;18536:23;;;;;;;;;;;:38;;;18497:11;:23;18509:10;18497:23;;;;;;;;;;;:35;;;:77;18489:86;;;;;;;;18650:36;5688:2;7215;:27;7204:8;:39;5688:2;7127;:27;7117:7;:38;18650:19;;:36;;;;:::i;:::-;18593:54;18633:13;;18593:11;:23;18605:10;18593:23;;;;;;;;;;;:35;;;:39;;:54;;;;:::i;:::-;18592:94;;18584:103;;;;;;;;18702:50;:11;:23;18714:10;18702:23;;;;;;;;;;;:28;;;:50;;;;18698:263;;;5688:2;7127;:27;7117:7;:38;18773:53;18790:11;:23;18802:10;18790:23;;;;;;;;;;;:35;;;18773:12;;:16;;:53;;;;:::i;:::-;18772:72;;18764:81;;;;;;;;18698:263;;;5688:2;7215;:27;7204:8;:39;18879:53;18896:11;:23;18908:10;18896:23;;;;;;;;;;;:35;;;18879:12;;:16;;:53;;;;:::i;:::-;18878:72;;18870:81;;;;;;;;18698:263;18983:1;18974:10;;18969:328;18990:12;:24;19003:10;18990:24;;;;;;;;;;;:31;;;;18986:1;:35;18969:328;;;19085:90;19134:12;:24;19147:10;19134:24;;;;;;;;;;;19159:1;19134:27;;;;;;;;;;;;;;;;;;;;:40;;;19085:8;:44;19094:12;:24;19107:10;19094:24;;;;;;;;;;;19119:1;19094:27;;;;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;19085:44;;;;;;;;;;;;;;;;:48;;:90;;;;:::i;:::-;19038:8;:44;19047:12;:24;19060:10;19047:24;;;;;;;;;;;19072:1;19047:27;;;;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;19038:44;;;;;;;;;;;;;;;:137;;;;19211:12;:24;19224:10;19211:24;;;;;;;;;;;19236:1;19211:27;;;;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;19191:96;;19200:10;19191:96;;;19246:12;:24;19259:10;19246:24;;;;;;;;;;;19271:1;19246:27;;;;;;;;;;;;;;;;;;;;:40;;;19191:96;;;;;;;;;;;;;;;;;;19023:3;;;;;;;18969:328;;;19321:54;19339:11;:23;19351:10;19339:23;;;;;;;;;;;:35;;;19321:13;;:17;;:54;;;;:::i;:::-;19305:13;:70;;;;19390:50;:11;:23;19402:10;19390:23;;;;;;;;;;;:28;;;:50;;;;19386:237;;;19467:53;19484:11;:23;19496:10;19484:23;;;;;;;;;;;:35;;;19467:12;;:16;;:53;;;;:::i;:::-;19452:12;:68;;;;19386:237;;;19560:53;19577:11;:23;19589:10;19577:23;;;;;;;;;;;:35;;;19560:12;;:16;;:53;;;;:::i;:::-;19545:12;:68;;;;19386:237;19662:4;19631:11;:23;19643:10;19631:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;19680:99;19697:10;19708:11;:23;19720:10;19708:23;;;;;;;;;;;:38;;;19747:12;:24;19760:10;19747:24;;;;;;;;;;;:31;;;;19680:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18183:1606;;:::o;5699:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4443:192::-;4510:4;4555:6;4523:7;:19;4531:10;4523:19;;;;;;;;;;;;;;;:29;4543:8;4523:29;;;;;;;;;;;;;;;:38;;;;4594:8;4573:38;;4582:10;4573:38;;;4604:6;4573:38;;;;;;;;;;;;;;;;;;4625:4;4618:11;;4443:192;;;;:::o;5833:68::-;;;;:::o;8675:238::-;2331:5;;;;;;;;;;;2317:19;;:10;:19;;;2309:28;;;;;;;;8757:11;:29;8769:16;8757:29;;;;;;;;;;;;;;;;;;;;;;;;;8756:30;8748:39;;;;;;;;6028:2;8804:31;;:13;;:31;8796:40;;;;;;;;8877:4;8845:11;:29;8857:16;8845:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8890:13;;:15;;;;;;;;;;;;;8675:238;:::o;3922:517::-;4034:4;4067:5;;;;;;;;;;;4058:14;;:5;:14;;;;4050:23;;;;;;;;4098:8;:15;4107:5;4098:15;;;;;;;;;;;;;;;;4088:6;:25;;4080:34;;;;;;;;4139:7;:14;4147:5;4139:14;;;;;;;;;;;;;;;:26;4154:10;4139:26;;;;;;;;;;;;;;;;4129:6;:36;;4121:45;;;;;;;;4196:1;4181:17;;:3;:17;;;;4173:26;;;;;;;;4226:27;4246:6;4226:8;:15;4235:5;4226:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4208:8;:15;4217:5;4208:15;;;;;;;;;;;;;;;:45;;;;4276:25;4294:6;4276:8;:13;4285:3;4276:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4260:8;:13;4269:3;4260:13;;;;;;;;;;;;;;;:41;;;;4337:38;4368:6;4337:7;:14;4345:5;4337:14;;;;;;;;;;;;;;;:26;4352:10;4337:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4308:7;:14;4316:5;4308:14;;;;;;;;;;;;;;;:26;4323:10;4308:26;;;;;;;;;;;;;;;:67;;;;4403:3;4387:28;;4396:5;4387:28;;;4408:6;4387:28;;;;;;;;;;;;;;;;;;4429:4;4422:11;;3922:517;;;;;:::o;5786:40::-;;;;:::o;7328:32::-;;;;:::o;6270:37::-;6304:3;6270:37;:::o;6222:41::-;6261:2;6222:41;:::o;21536:234::-;21610:7;21618;21626;21650:12;:24;21663:10;21650:24;;;;;;;;;;;21675:3;21650:29;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;21687:12;:24;21700:10;21687:24;;;;;;;;;;;21712:3;21687:29;;;;;;;;;;;;;;;;;;;;:42;;;21730:12;:24;21743:10;21730:24;;;;;;;;;;;:31;;;;21643:119;;;;;;21536:234;;;;;:::o;6316:32::-;6346:2;6316:32;:::o;5647:43::-;5688:2;5647:43;:::o;5120:447::-;5231:4;5247:16;5266:7;:19;5274:10;5266:19;;;;;;;;;;;;;;;:29;5286:8;5266:29;;;;;;;;;;;;;;;;5247:48;;5326:8;5306:16;:28;;5302:169;;;5377:1;5345:7;:19;5353:10;5345:19;;;;;;;;;;;;;;;:29;5365:8;5345:29;;;;;;;;;;;;;;;:33;;;;5302:169;;;5433:30;5446:16;5433:8;:12;;:30;;;;:::i;:::-;5401:7;:19;5409:10;5401:19;;;;;;;;;;;;;;;:29;5421:8;5401:29;;;;;;;;;;;;;;;:62;;;;5302:169;5503:8;5482:61;;5491:10;5482:61;;;5513:7;:19;5521:10;5513:19;;;;;;;;;;;;;;;:29;5533:8;5513:29;;;;;;;;;;;;;;;;5482:61;;;;;;;;;;;;;;;;;;5557:4;5550:11;;5120:447;;;;;:::o;6083:42::-;6123:2;6083:42;:::o;3690:101::-;3746:7;3769:8;:16;3778:6;3769:16;;;;;;;;;;;;;;;;3762:23;;3690:101;;;:::o;11906:633::-;8603:11;:23;8615:10;8603:23;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;8628:6;:18;8635:10;8628:18;;;;;;;;;;;;;;;;;;;;;;;;;8603:43;8595:52;;;;;;;;12021:11;:23;12033:10;12021:23;;;;;;;;;;;:35;;;;;;;;;;;;12013:44;;;;;;;;12075:11;:23;12087:10;12075:23;;;;;;;;;;;:28;;;;;;;;;;;;12074:29;12066:38;;;;;;;;12117:50;:11;:23;12129:10;12117:23;;;;;;;;;;;:28;;;:50;;;;12113:122;;;12187:6;:15;12194:7;12187:15;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;12204:11;:20;12216:7;12204:20;;;;;;;;;;;;;;;;;;;;;;;;;12187:37;12179:46;;;;;;;;12113:122;12312:11;:23;12324:10;12312:23;;;;;;;;;;;:35;;;12251:57;12294:13;12251:11;:23;12263:10;12251:23;;;;;;;;;;;:38;;;:42;;:57;;;;:::i;:::-;:96;;12243:105;;;;;;;;12357:12;:24;12370:10;12357:24;;;;;;;;;;;12387:34;;;;;;;;;12399:7;12387:34;;;;;;12407:13;12387:34;;;12357:65;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12357:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12472:57;12515:13;12472:11;:23;12484:10;12472:23;;;;;;;;;;;:38;;;:42;;:57;;;;:::i;:::-;12431:11;:23;12443:10;12431:23;;;;;;;;;;;:38;;:98;;;;11906:633;;;:::o;7367:27::-;;;;:::o;14675:3500::-;14861:18;14899:23;14947:16;14984:21;15031:11;8603;:23;8615:10;8603:23;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;8628:6;:18;8635:10;8628:18;;;;;;;;;;;;;;;;;;;;;;;;;8603:43;8595:52;;;;;;;;14775:5;:17;14781:10;14775:17;;;;;;;;;;;;;;;:29;14793:10;14775:29;;;;;;;;;;;;;;;;;;;;;14774:30;14766:39;;;;;;;;14823:11;:23;14835:10;14823:23;;;;;;;;;;;:28;;;;;;;;;;;;14822:29;14814:38;;;;;;;;6304:3;14861:29;;6261:2;14899:39;;6212:3;14947:28;;6123:2;14984:38;;6385:2;15031:18;;15062:46;:11;:23;15074:10;15062:23;;;;;;;;;;;:28;;;:46;;;;15058:844;;;6346:2;15121:11;;6073:3;15143:24;;6167:3;15178:21;;15058:844;;;15218:45;:11;:23;15230:10;15218:23;;;;;;;;;;;:28;;;:45;;;;15214:688;;;6424:2;15275:11;;6261:2;15297:32;;6123:2;15340:31;;15214:688;;;15390:51;:11;:23;15402:10;15390:23;;;;;;;;;;;:28;;;:51;;;;15386:516;;;6424:2;15453:11;;6304:3;15475:22;;6212:3;15508:21;;15386:516;;;15548:50;:11;:23;15560:10;15548:23;;;;;;;;;;;:28;;;:50;;;;15544:358;;;6304:3;15610:22;;6212:3;15643:21;;6261:2;15675:32;;6123:2;15718:31;;15544:358;;;15768:58;:11;:23;15780:10;15768:23;;;;;;;;;;;:28;;;:58;;;;15764:138;;;6304:3;15838:22;;6212:3;15871:21;;15764:138;15544:358;15386:516;15214:688;15058:844;15925:1;15916:5;:10;;;15912:135;;;15946:11;:23;15958:10;15946:23;;;;;;;;;;;;;;;;;;;;;;;;;15938:32;;;;;;;;15912:135;;;15997:1;15989:5;:9;;;15985:62;;;16018:6;:18;16025:10;16018:18;;;;;;;;;;;;;;;;;;;;;;;;;16010:27;;;;;;;;15985:62;15912:135;16066:11;:23;16078:10;16066:23;;;;;;;;;;;:31;;;16060:3;:37;16057:2035;;;16123:1;16114:5;:10;;;16109:875;;;16243:16;16157:102;;16200:11;:23;16212:10;16200:23;;;;;;;;;;;:40;;;;;;;;;;;;16158:11;:23;16170:10;16158:23;;;;;;;;;;;:39;;;;;;;;;;;;:82;16157:102;;;;:270;;;;;16424:3;16419:4;16375:11;:23;16387:10;16375:23;;;;;;;;;;;:40;;;;;;;;;;;;16333:11;:23;16345:10;16333:23;;;;;;;;;;;:39;;;;;;;;;;;;:82;16332:91;:95;;;;;;;;;;16289:138;;:11;:23;16301:10;16289:23;;;;;;;;;;;:39;;;;;;;;;;;;:138;;;;16157:270;16139:418;;;16497:4;16459:11;:23;16471:10;16459:23;;;;;;;;;;;:35;;;:42;;;;;;;;;;;;;;;;;;16518:25;16532:10;16518:13;:25::i;:::-;16139:418;16109:875;;;16585:1;16577:5;:9;;;16573:411;;;16721:11;16645:87;;16683:11;:23;16695:10;16683:23;;;;;;;;;;;:35;;;;;;;;;;;;16646:11;:23;16658:10;16646:23;;;;;;;;;;;:34;;;;;;;;;;;;:72;16645:87;;;;:241;;;;;16883:3;16878:4;16839:11;:23;16851:10;16839:23;;;;;;;;;;;:35;;;;;;;;;;;;16801:11;:23;16813:10;16801:23;;;;;;;;;;;:35;;;;;;;;;;;;:73;16800:82;:86;;;;;;;;;;16762:124;;:11;:23;16774:10;16762:23;;;;;;;;;;;:34;;;;;;;;;;;;:124;;;;16645:241;16627:346;;;16955:4;16918:11;:23;16930:10;16918:23;;;;;;;;;;;:34;;;:41;;;;;;;;;;;;;;;;;;16627:346;16573:411;16109:875;16057:2035;;;17021:4;17011:14;;:6;:14;;;17008:420;;;17052:1;17043:5;:10;;;17039:169;;;17069:11;:23;17081:10;17069:23;;;;;;;;;;;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17039:169;;;17141:1;17132:5;:10;;;17129:79;;;17158:11;:23;17170:10;17158:23;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17129:79;17039:169;17008:420;;;17259:1;17250:5;:10;;;17246:171;;;17276:11;:23;17288:10;17276:23;;;;;;;;;;;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17246:171;;;17349:1;17340:5;:10;;;17337:80;;;17366:11;:23;17378:10;17366:23;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17337:80;17246:171;17008:420;17451:1;17442:5;:10;;;17438:645;;;17513:14;17470:57;;:11;:23;17482:10;17470:23;;;;;;;;;;;:39;;;;;;;;;;;;:57;;;;17466:313;;;17584:4;17546:11;:23;17558:10;17546:23;;;;;;;;;;;:35;;;:42;;;;;;;;;;;;;;;;;;17605:25;17619:10;17605:13;:25::i;:::-;17466:313;;;17697:14;17653:58;;:11;:23;17665:10;17653:23;;;;;;;;;;;:40;;;;;;;;;;;;:58;;;;17649:130;;;17761:4;17730:11;:23;17742:10;17730:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;17649:130;17466:313;17438:645;;;17807:1;17799:5;:9;;;17795:288;;;17864:9;17826:47;;:11;:23;17838:10;17826:23;;;;;;;;;;;:34;;;;;;;;;;;;:47;;;;17822:250;;;17929:4;17892:11;:23;17904:10;17892:23;;;;;;;;;;;:34;;;:41;;;;;;;;;;;;;;;;;;17822:250;;;17995:9;17956:48;;:11;:23;17968:10;17956:23;;;;;;;;;;;:35;;;;;;;;;;;;:48;;;;17952:120;;;18054:4;18023:11;:23;18035:10;18023:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;17952:120;17822:250;17795:288;17438:645;16057:2035;18132:4;18100:5;:17;18106:10;18100:17;;;;;;;;;;;;;;;:29;18118:10;18100:29;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18145:22;18156:10;18145;:22::i;:::-;14675:3500;;;;;;;;:::o;7288:31::-;;;;:::o;7075:80::-;5688:2;7127;:27;7117:7;:38;7075:80;:::o;2097:20::-;;;;;;;;;;;;;:::o;6435:74::-;6491:10;6474:14;;:27;;;;;;;;;;;;;;;;;;6435:74::o;6037:39::-;6073:3;6037:39;:::o;5751:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6132:38::-;6167:3;6132:38;:::o;5987:43::-;6028:2;5987:43;:::o;7162:81::-;5688:2;7215;:27;7204:8;:39;7162:81;:::o;5949:29::-;;;;;;;;;;;;;:::o;3322:364::-;3385:4;3420:5;;;;;;;;;;;3406:19;;:10;:19;;;;3398:28;;;;;;;;3451:8;:20;3460:10;3451:20;;;;;;;;;;;;;;;;3441:6;:30;;3433:39;;;;;;;;3502:1;3487:17;;:3;:17;;;;3479:26;;;;;;;;3537:32;3562:6;3537:8;:20;3546:10;3537:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3514:8;:20;3523:10;3514:20;;;;;;;;;;;;;;;:55;;;;3592:25;3610:6;3592:8;:13;3601:3;3592:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3576:8;:13;3585:3;3576:13;;;;;;;;;;;;;;;:41;;;;3650:3;3629:33;;3638:10;3629:33;;;3655:6;3629:33;;;;;;;;;;;;;;;;;;3676:4;3669:11;;3322:364;;;;:::o;10286:1614::-;10423:13;8603:11;:23;8615:10;8603:23;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;8628:6;:18;8635:10;8628:18;;;;;;;;;;;;;;;;;;;;;;;;;8603:43;8595:52;;;;;;;;10439:5;10423:21;;10468:1;10459:5;:10;;;10455:606;;;10491:11;:23;10503:10;10491:23;;;;;;;;;;;;;;;;;;;;;;;;;10483:32;;;;;;;;10528:21;;;10455:606;;;10579:1;10570:5;:10;;;10566:495;;;10594:22;;;10566:495;;;10646:1;10637:5;:10;;;10633:428;;;10669:6;:18;10676:10;10669:18;;;;;;;;;;;;;;;;;;;;;;;;;10661:27;;;;;;;;10701;;;10633:428;;;10758:1;10750:5;:9;;;10745:316;;;5688:2;7215;:27;7204:8;:39;10798:12;;10783;:27;10782:48;;10774:57;;;;;;;;10745:316;;;10860:1;10852:5;:9;;;10848:213;;;5688:2;7127;:27;7117:7;:38;10899:12;;10884;:27;10883:48;;10875:57;;;;;;;;10945:26;;;10848:213;;;11000:1;10992:5;:9;;;10988:73;;;11015:34;;;10988:73;10848:213;10745:316;10633:428;10566:495;10455:606;11096:711;;;;;;;;;11107:8;11096:711;;;;;;11162:8;11096:711;;;;;;11225:3;11096:711;;;;11290:8;;11284:3;:14;11096:711;;;;11346:12;11096:711;;;;11405:1;11096:711;;;;11453:5;11096:711;;;;;;;11505:1;11096:711;;;;;;11553:1;11096:711;;;;;;11601:1;11096:711;;;;;;11649:1;11096:711;;;;;;11697:5;11096:711;;;;;;11749:5;11096:711;;;;;;11801:5;11096:711;;;;;11071:11;:22;11083:9;;11071:22;;;;;;;;;;;:736;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11820:9;;:11;;;;;;;;;;;;;11847:45;11863:5;11879:1;11869:9;;:11;11881:10;11847:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10286:1614;;;;;;:::o;7441:28::-;;;;:::o;5910:32::-;;;;:::o;9237:97::-;9291:4;9312:6;:13;9319:5;9312:13;;;;;;;;;;;;;;;;;;;;;;;;;9305:21;;9237:97;;;:::o;20656:874::-;20717:6;20790;20863;20936;21009:4;21080;21151;21186:11;:23;21198:10;21186:23;;;;;;;;;;;:34;;;;;;;;;;;;21235:11;:23;21247:10;21235:23;;;;;;;;;;;:35;;;;;;;;;;;;21285:11;:23;21297:10;21285:23;;;;;;;;;;;:39;;;;;;;;;;;;21339:11;:23;21351:10;21339:23;;;;;;;;;;;:40;;;;;;;;;;;;21394:11;:23;21406:10;21394:23;;;;;;;;;;;:35;;;;;;;;;;;;21444:11;:23;21456:10;21444:23;;;;;;;;;;;:34;;;;;;;;;;;;21493:11;:23;21505:10;21493:23;;;;;;;;;;;:28;;;;;;;;;;;;21165:357;;;;;;;;;;;;;;20656:874;;;;;;;;;:::o;8921:195::-;2331:5;;;;;;;;;;;2317:19;;:10;:19;;;2309:28;;;;;;;;8993:6;:19;9000:11;8993:19;;;;;;;;;;;;;;;;;;;;;;;;;8992:20;8984:29;;;;;;;;6073:3;9030:21;;:8;;:21;9022:30;;;;;;;;9083:4;9061:6;:19;9068:11;9061:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9096:8;;:10;;;;;;;;;;;;;8921:195;:::o;7401:33::-;;;;:::o;9124:107::-;9183:4;9204:11;:18;9216:5;9204:18;;;;;;;;;;;;;;;;;;;;;;;;;9197:26;;9124:107;;;:::o;21776:122::-;21845:4;21866:5;:12;21872:5;21866:12;;;;;;;;;;;;;;;:24;21879:10;21866:24;;;;;;;;;;;;;;;;;;;;;21859:31;;21776:122;;;;:::o;6394:32::-;6424:2;6394:32;:::o;19795:855::-;19856:7;19928;20000;20072;20144;20216;20288;20312:11;:23;20324:10;20312:23;;;;;;;;;;;:31;;;;;;;;;;;;20360:11;:23;20372:10;20360:23;;;;;;;;;;;:31;;;;;;;;;;;;20408:11;:23;20420:10;20408:23;;;;;;;;;;;:33;;;20458:11;:23;20470:10;20458:23;;;;;;;;;;;:31;;;20506:11;:23;20518:10;20506:23;;;;;;;;;;;:35;;;20558:11;:23;20570:10;20558:23;;;;;;;;;;;:38;;;20613:11;:23;20625:10;20613:23;;;;;;;;;;;:28;;;20305:337;;;;;;;;;;;;;;19795:855;;;;;;;;;:::o;4807:307::-;4913:4;4970:46;5004:11;4970:7;:19;4978:10;4970:19;;;;;;;;;;;;;;;:29;4990:8;4970:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;4929:7;:19;4937:10;4929:19;;;;;;;;;;;;;;;:29;4949:8;4929:29;;;;;;;;;;;;;;;:88;;;;5050:8;5029:61;;5038:10;5029:61;;;5060:7;:19;5068:10;5060:19;;;;;;;;;;;;;;;:29;5080:8;5060:29;;;;;;;;;;;;;;;;5029:61;;;;;;;;;;;;;;;;;;5104:4;5097:11;;4807:307;;;;:::o;6177:38::-;6212:3;6177:38;:::o;7250:31::-;;;;:::o;6515:169::-;2331:5;;;;;;;;;;;2317:19;;:10;:19;;;2309:28;;;;;;;;6630:1;6603:29;;:15;:29;;;;6595:38;;;;;;;;6661:15;6644:14;;:32;;;;;;;;;;;;;;;;;;6515:169;:::o;4639:162::-;4744:7;4770;:15;4778:6;4770:15;;;;;;;;;;;;;;;:25;4786:8;4770:25;;;;;;;;;;;;;;;;4763:32;;4639:162;;;;:::o;6692:204::-;2331:5;;;;;;;;;;;2317:19;;:10;:19;;;2309:28;;;;;;;;6777:1;6751:28;;:14;;;;;;;;;;;:28;;;;6743:37;;;;;;;;6824:1;6807:4;6799:21;;;:26;;6791:35;;;;;;;;6845:14;;;;;;;;;;;:19;;:42;6873:4;6865:21;;;6845:42;;;;;;;;;;;;;;;;;;;;;;;6837:51;;;;;;;;6692:204::o;6355:32::-;6385:2;6355:32;:::o;1934:132::-;1994:9;2021:2;2016;:7;2012:11;;2042:2;2037:1;:7;;2030:15;;;;;;2059:1;2052:8;;1934:132;;;;:::o;1811:119::-;1871:7;1900:2;1894;:8;;1887:16;;;;;;1922:2;1917;:7;1910:14;;1811:119;;;;:::o;12545:423::-;12610:51;:11;:23;12622:10;12610:23;;;;;;;;;;;:28;;;:51;;;;;12609:119;;;;;12682:45;:11;:23;12694:10;12682:23;;;;;;;;;;;:28;;;:45;;;;;12609:119;:186;;;;;12748:46;:11;:23;12760:10;12748:23;;;;;;;;;;;:28;;;:46;;;;;12609:186;:265;;;;;12815:58;:11;:23;12827:10;12815:23;;;;;;;;;;;:28;;;:58;;;;;12609:265;12605:354;;;12893:54;12907:10;12918:11;:23;12930:10;12918:23;;;;;;;;;;;:28;;;12893:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12605:354;12545:423;:::o;13013:1624::-;13075:45;:11;:23;13087:10;13075:23;;;;;;;;;;;:28;;;:45;;;;13074:86;;;;;13125:11;:23;13137:10;13125:23;;;;;;;;;;;:35;;;;;;;;;;;;13074:86;13070:1560;;;13180:6;:39;13187:11;:23;13199:10;13187:23;;;;;;;;;;;:31;;;;;;;;;;;;13180:39;;;;;;;;;;;;;;;;;;;;;;;;;13172:48;;;;;;;;13240:11;:44;13252:11;:23;13264:10;13252:23;;;;;;;;;;;:31;;;;;;;;;;;;13240:44;;;;;;;;;;;;;;;;;;;;;;;;;13239:45;13231:54;;;;;;;;13338:5;13296:6;:39;13303:11;:23;13315:10;13303:23;;;;;;;;;;;:31;;;;;;;;;;;;13296:39;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;13396:4;13354:6;:39;13361:11;:23;13373:10;13361:23;;;;;;;;;;;:31;;;;;;;;;;;;13354:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13442:4;13411:11;:23;13423:10;13411:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;13462:78;13474:1;13476:11;:23;13488:10;13476:23;;;;;;;;;;;:31;;;;;;;;;;;;13508:11;:23;13520:10;13508:23;;;;;;;;;;;:31;;;;;;;;;;;;13462:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13070:1560;;;13560:51;:11;:23;13572:10;13560:23;;;;;;;;;;;:28;;;:51;;;;13559:91;;;;;13616:11;:23;13628:10;13616:23;;;;;;;;;;;:34;;;;;;;;;;;;13559:91;13555:1075;;;13670:11;:44;13682:11;:23;13694:10;13682:23;;;;;;;;;;;:31;;;;;;;;;;;;13670:44;;;;;;;;;;;;;;;;;;;;;;;;;13662:53;;;;;;;;13735:11;:44;13747:11;:23;13759:10;13747:23;;;;;;;;;;;:31;;;;;;;;;;;;13735:44;;;;;;;;;;;;;;;;;;;;;;;;;13734:45;13726:54;;;;;;;;13838:5;13791:11;:44;13803:11;:23;13815:10;13803:23;;;;;;;;;;;:31;;;;;;;;;;;;13791:44;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;13901:4;13854:11;:44;13866:11;:23;13878:10;13866:23;;;;;;;;;;;:31;;;;;;;;;;;;13854:44;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;13947:4;13916:11;:23;13928:10;13916:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;13967:78;13979:1;13981:11;:23;13993:10;13981:23;;;;;;;;;;;:31;;;;;;;;;;;;14013:11;:23;14025:10;14013:23;;;;;;;;;;;:31;;;;;;;;;;;;13967:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13555:1075;;;14065:46;:11;:23;14077:10;14065:23;;;;;;;;;;;:28;;;:46;;;;14064:86;;;;;14116:11;:23;14128:10;14116:23;;;;;;;;;;;:34;;;;;;;;;;;;14064:86;14060:570;;;14167:52;14179:1;14181:5;;;;;;;;;;;14187:11;:23;14199:10;14187:23;;;;;;;;;;;:31;;;;;;;;;;;;14167:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14230:51;14249:11;:23;14261:10;14249:23;;;;;;;;;;;:31;;;;;;;;;;;;14230:18;:51::i;:::-;14323:4;14292:11;:23;14304:10;14292:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;14060:570;;;14347:58;:11;:23;14359:10;14347:23;;;;;;;;;;;:28;;;:58;;;;14346:98;;;;;14410:11;:23;14422:10;14410:23;;;;;;;;;;;:34;;;;;;;;;;;;14346:98;14342:288;;;14456:41;14461:11;:23;14473:10;14461:23;;;;;;;;;;;:35;;;14456:4;:41::i;:::-;14513:61;14527:10;14538:11;:23;14550:10;14538:23;;;;;;;;;;;:35;;;14513:61;;;;;;;;;;;;;;;;;;;;;;;;14616:4;14585:11;:23;14597:10;14585:23;;;;;;;;;;;:28;;;:35;;;;;;;;;;;;;;;;;;14342:288;14060:570;13555:1075;13070:1560;13013:1624;:::o;2355:175::-;2447:1;2426:23;;:9;:23;;;;2418:32;;;;;;;;2490:9;2462:38;;2483:5;;;;;;;;;;;2462:38;;;;;;;;;;;;2515:9;2507:5;;:17;;;;;;;;;;;;;;;;;;2355:175;:::o;8068:311::-;8134:8;:15;8143:5;;;;;;;;;;;8134:15;;;;;;;;;;;;;;;;8124:6;:25;;8116:34;;;;;;;;8177:11;;8167:6;:21;;8159:30;;;;;;;;8216:27;8236:6;8216:8;:15;8225:5;;;;;;;;;;;8216:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8198:8;:15;8207:5;;;;;;;;;;;8198:15;;;;;;;;;;;;;;;:45;;;;8266:23;8282:6;8266:11;;:15;;:23;;;;:::i;:::-;8252:11;:37;;;;8308:5;;;;;;;;;;;8303:19;;;8315:6;8303:19;;;;;;;;;;;;;;;;;;8360:1;8336:35;;8345:5;;;;;;;;;;;8336:35;;;8364:6;8336:35;;;;;;;;;;;;;;;;;;8068:311;:::o

Swarm Source

bzzr://f89869b4e7d5dfeaba4fd2970ea9ac81ad44a6f9e833703cf1e45756209a3332
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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