// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: socketReceiveData.proto

package com.mogo.realtime.entity;

public final class SocketReceiveDataProto3 {
  private SocketReceiveDataProto3() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface SocketReceiveDataProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.SocketReceiveDataProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 seq = 1;</code>
     */
    long getSeq();

    /**
     * <pre>
     ** 消息来自：0.自车与ADAS数据 
     * </pre>
     *
     * <code>uint32 msgType = 2;</code>
     */
    int getMsgType();

    /**
     * <pre>
     ** 工控机对应的车机sn 
     * </pre>
     *
     * <code>string sn = 3;</code>
     */
    String getSn();
    /**
     * <pre>
     ** 工控机对应的车机sn 
     * </pre>
     *
     * <code>string sn = 3;</code>
     */
    com.google.protobuf.ByteString
        getSnBytes();

    /**
     * <pre>
     ** 工控机sn 
     * </pre>
     *
     * <code>string IPCSn = 4;</code>
     */
    String getIPCSn();
    /**
     * <pre>
     ** 工控机sn 
     * </pre>
     *
     * <code>string IPCSn = 4;</code>
     */
    com.google.protobuf.ByteString
        getIPCSnBytes();

    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    boolean hasData();
    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    OnePerSecondSendReqProto getData();
    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    OnePerSecondSendReqProtoOrBuilder getDataOrBuilder();

    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    boolean hasData2();
    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    SocketRequestVo getData2();
    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    SocketRequestVoOrBuilder getData2OrBuilder();

    /**
     * <code>uint64 utcTime = 7;</code>
     */
    long getUtcTime();

    /**
     * <code>uint64 upUtcTime = 8;</code>
     */
    long getUpUtcTime();

    /**
     * <code>string cityCode = 9;</code>
     */
    String getCityCode();
    /**
     * <code>string cityCode = 9;</code>
     */
    com.google.protobuf.ByteString
        getCityCodeBytes();
  }
  /**
   * <pre>
   * 接收工控机主实体
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.service.SocketReceiveDataProto}
   */
  public  static final class SocketReceiveDataProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.SocketReceiveDataProto)
      SocketReceiveDataProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SocketReceiveDataProto.newBuilder() to construct.
    private SocketReceiveDataProto(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SocketReceiveDataProto() {
      seq_ = 0L;
      msgType_ = 0;
      sn_ = "";
      iPCSn_ = "";
      utcTime_ = 0L;
      upUtcTime_ = 0L;
      cityCode_ = "";
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SocketReceiveDataProto(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              seq_ = input.readUInt64();
              break;
            }
            case 16: {

              msgType_ = input.readUInt32();
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              sn_ = s;
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              iPCSn_ = s;
              break;
            }
            case 42: {
              OnePerSecondSendReqProto.Builder subBuilder = null;
              if (data_ != null) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(OnePerSecondSendReqProto.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              SocketRequestVo.Builder subBuilder = null;
              if (data2_ != null) {
                subBuilder = data2_.toBuilder();
              }
              data2_ = input.readMessage(SocketRequestVo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data2_);
                data2_ = subBuilder.buildPartial();
              }

              break;
            }
            case 56: {

              utcTime_ = input.readUInt64();
              break;
            }
            case 64: {

              upUtcTime_ = input.readUInt64();
              break;
            }
            case 74: {
              String s = input.readStringRequireUtf8();

              cityCode_ = s;
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketReceiveDataProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              SocketReceiveDataProto.class, Builder.class);
    }

    public static final int SEQ_FIELD_NUMBER = 1;
    private long seq_;
    /**
     * <code>uint64 seq = 1;</code>
     */
    public long getSeq() {
      return seq_;
    }

    public static final int MSGTYPE_FIELD_NUMBER = 2;
    private int msgType_;
    /**
     * <pre>
     ** 消息来自：0.自车与ADAS数据 
     * </pre>
     *
     * <code>uint32 msgType = 2;</code>
     */
    public int getMsgType() {
      return msgType_;
    }

    public static final int SN_FIELD_NUMBER = 3;
    private volatile Object sn_;
    /**
     * <pre>
     ** 工控机对应的车机sn 
     * </pre>
     *
     * <code>string sn = 3;</code>
     */
    public String getSn() {
      Object ref = sn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        sn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 工控机对应的车机sn 
     * </pre>
     *
     * <code>string sn = 3;</code>
     */
    public com.google.protobuf.ByteString
        getSnBytes() {
      Object ref = sn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IPCSN_FIELD_NUMBER = 4;
    private volatile Object iPCSn_;
    /**
     * <pre>
     ** 工控机sn 
     * </pre>
     *
     * <code>string IPCSn = 4;</code>
     */
    public String getIPCSn() {
      Object ref = iPCSn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        iPCSn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 工控机sn 
     * </pre>
     *
     * <code>string IPCSn = 4;</code>
     */
    public com.google.protobuf.ByteString
        getIPCSnBytes() {
      Object ref = iPCSn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        iPCSn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 5;
    private OnePerSecondSendReqProto data_;
    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    public OnePerSecondSendReqProto getData() {
      return data_ == null ? OnePerSecondSendReqProto.getDefaultInstance() : data_;
    }
    /**
     * <pre>
     ** 自车、adas的实体组合数据 
     * </pre>
     *
     * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
     */
    public OnePerSecondSendReqProtoOrBuilder getDataOrBuilder() {
      return getData();
    }

    public static final int DATA2_FIELD_NUMBER = 6;
    private SocketRequestVo data2_;
    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    public boolean hasData2() {
      return data2_ != null;
    }
    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    public SocketRequestVo getData2() {
      return data2_ == null ? SocketRequestVo.getDefaultInstance() : data2_;
    }
    /**
     * <pre>
     ** AI云上行数据处理 / 小程序上行数据处理 
     * </pre>
     *
     * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
     */
    public SocketRequestVoOrBuilder getData2OrBuilder() {
      return getData2();
    }

    public static final int UTCTIME_FIELD_NUMBER = 7;
    private long utcTime_;
    /**
     * <code>uint64 utcTime = 7;</code>
     */
    public long getUtcTime() {
      return utcTime_;
    }

    public static final int UPUTCTIME_FIELD_NUMBER = 8;
    private long upUtcTime_;
    /**
     * <code>uint64 upUtcTime = 8;</code>
     */
    public long getUpUtcTime() {
      return upUtcTime_;
    }

    public static final int CITYCODE_FIELD_NUMBER = 9;
    private volatile Object cityCode_;
    /**
     * <code>string cityCode = 9;</code>
     */
    public String getCityCode() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cityCode_ = s;
        return s;
      }
    }
    /**
     * <code>string cityCode = 9;</code>
     */
    public com.google.protobuf.ByteString
        getCityCodeBytes() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cityCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (seq_ != 0L) {
        output.writeUInt64(1, seq_);
      }
      if (msgType_ != 0) {
        output.writeUInt32(2, msgType_);
      }
      if (!getSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, sn_);
      }
      if (!getIPCSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, iPCSn_);
      }
      if (data_ != null) {
        output.writeMessage(5, getData());
      }
      if (data2_ != null) {
        output.writeMessage(6, getData2());
      }
      if (utcTime_ != 0L) {
        output.writeUInt64(7, utcTime_);
      }
      if (upUtcTime_ != 0L) {
        output.writeUInt64(8, upUtcTime_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, cityCode_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (seq_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, seq_);
      }
      if (msgType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, msgType_);
      }
      if (!getSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, sn_);
      }
      if (!getIPCSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, iPCSn_);
      }
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getData());
      }
      if (data2_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getData2());
      }
      if (utcTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(7, utcTime_);
      }
      if (upUtcTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(8, upUtcTime_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, cityCode_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof SocketReceiveDataProto)) {
        return super.equals(obj);
      }
      SocketReceiveDataProto other = (SocketReceiveDataProto) obj;

      boolean result = true;
      result = result && (getSeq()
          == other.getSeq());
      result = result && (getMsgType()
          == other.getMsgType());
      result = result && getSn()
          .equals(other.getSn());
      result = result && getIPCSn()
          .equals(other.getIPCSn());
      result = result && (hasData() == other.hasData());
      if (hasData()) {
        result = result && getData()
            .equals(other.getData());
      }
      result = result && (hasData2() == other.hasData2());
      if (hasData2()) {
        result = result && getData2()
            .equals(other.getData2());
      }
      result = result && (getUtcTime()
          == other.getUtcTime());
      result = result && (getUpUtcTime()
          == other.getUpUtcTime());
      result = result && getCityCode()
          .equals(other.getCityCode());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SEQ_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSeq());
      hash = (37 * hash) + MSGTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getMsgType();
      hash = (37 * hash) + SN_FIELD_NUMBER;
      hash = (53 * hash) + getSn().hashCode();
      hash = (37 * hash) + IPCSN_FIELD_NUMBER;
      hash = (53 * hash) + getIPCSn().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      if (hasData2()) {
        hash = (37 * hash) + DATA2_FIELD_NUMBER;
        hash = (53 * hash) + getData2().hashCode();
      }
      hash = (37 * hash) + UTCTIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUtcTime());
      hash = (37 * hash) + UPUTCTIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUpUtcTime());
      hash = (37 * hash) + CITYCODE_FIELD_NUMBER;
      hash = (53 * hash) + getCityCode().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static SocketReceiveDataProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketReceiveDataProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketReceiveDataProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketReceiveDataProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketReceiveDataProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketReceiveDataProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketReceiveDataProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SocketReceiveDataProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static SocketReceiveDataProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static SocketReceiveDataProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static SocketReceiveDataProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SocketReceiveDataProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(SocketReceiveDataProto prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * 接收工控机主实体
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.service.SocketReceiveDataProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.SocketReceiveDataProto)
        SocketReceiveDataProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketReceiveDataProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                SocketReceiveDataProto.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.SocketReceiveDataProto.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        seq_ = 0L;

        msgType_ = 0;

        sn_ = "";

        iPCSn_ = "";

        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          data_ = null;
          dataBuilder_ = null;
        }
        if (data2Builder_ == null) {
          data2_ = null;
        } else {
          data2_ = null;
          data2Builder_ = null;
        }
        utcTime_ = 0L;

        upUtcTime_ = 0L;

        cityCode_ = "";

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor;
      }

      @Override
      public SocketReceiveDataProto getDefaultInstanceForType() {
        return SocketReceiveDataProto.getDefaultInstance();
      }

      @Override
      public SocketReceiveDataProto build() {
        SocketReceiveDataProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public SocketReceiveDataProto buildPartial() {
        SocketReceiveDataProto result = new SocketReceiveDataProto(this);
        result.seq_ = seq_;
        result.msgType_ = msgType_;
        result.sn_ = sn_;
        result.iPCSn_ = iPCSn_;
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        if (data2Builder_ == null) {
          result.data2_ = data2_;
        } else {
          result.data2_ = data2Builder_.build();
        }
        result.utcTime_ = utcTime_;
        result.upUtcTime_ = upUtcTime_;
        result.cityCode_ = cityCode_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof SocketReceiveDataProto) {
          return mergeFrom((SocketReceiveDataProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(SocketReceiveDataProto other) {
        if (other == SocketReceiveDataProto.getDefaultInstance()) return this;
        if (other.getSeq() != 0L) {
          setSeq(other.getSeq());
        }
        if (other.getMsgType() != 0) {
          setMsgType(other.getMsgType());
        }
        if (!other.getSn().isEmpty()) {
          sn_ = other.sn_;
          onChanged();
        }
        if (!other.getIPCSn().isEmpty()) {
          iPCSn_ = other.iPCSn_;
          onChanged();
        }
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (other.hasData2()) {
          mergeData2(other.getData2());
        }
        if (other.getUtcTime() != 0L) {
          setUtcTime(other.getUtcTime());
        }
        if (other.getUpUtcTime() != 0L) {
          setUpUtcTime(other.getUpUtcTime());
        }
        if (!other.getCityCode().isEmpty()) {
          cityCode_ = other.cityCode_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        SocketReceiveDataProto parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (SocketReceiveDataProto) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long seq_ ;
      /**
       * <code>uint64 seq = 1;</code>
       */
      public long getSeq() {
        return seq_;
      }
      /**
       * <code>uint64 seq = 1;</code>
       */
      public Builder setSeq(long value) {
        
        seq_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 seq = 1;</code>
       */
      public Builder clearSeq() {
        
        seq_ = 0L;
        onChanged();
        return this;
      }

      private int msgType_ ;
      /**
       * <pre>
       ** 消息来自：0.自车与ADAS数据 
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public int getMsgType() {
        return msgType_;
      }
      /**
       * <pre>
       ** 消息来自：0.自车与ADAS数据 
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public Builder setMsgType(int value) {
        
        msgType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 消息来自：0.自车与ADAS数据 
       * </pre>
       *
       * <code>uint32 msgType = 2;</code>
       */
      public Builder clearMsgType() {
        
        msgType_ = 0;
        onChanged();
        return this;
      }

      private Object sn_ = "";
      /**
       * <pre>
       ** 工控机对应的车机sn 
       * </pre>
       *
       * <code>string sn = 3;</code>
       */
      public String getSn() {
        Object ref = sn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          sn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 工控机对应的车机sn 
       * </pre>
       *
       * <code>string sn = 3;</code>
       */
      public com.google.protobuf.ByteString
          getSnBytes() {
        Object ref = sn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 工控机对应的车机sn 
       * </pre>
       *
       * <code>string sn = 3;</code>
       */
      public Builder setSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 工控机对应的车机sn 
       * </pre>
       *
       * <code>string sn = 3;</code>
       */
      public Builder clearSn() {
        
        sn_ = getDefaultInstance().getSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 工控机对应的车机sn 
       * </pre>
       *
       * <code>string sn = 3;</code>
       */
      public Builder setSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sn_ = value;
        onChanged();
        return this;
      }

      private Object iPCSn_ = "";
      /**
       * <pre>
       ** 工控机sn 
       * </pre>
       *
       * <code>string IPCSn = 4;</code>
       */
      public String getIPCSn() {
        Object ref = iPCSn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          iPCSn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 工控机sn 
       * </pre>
       *
       * <code>string IPCSn = 4;</code>
       */
      public com.google.protobuf.ByteString
          getIPCSnBytes() {
        Object ref = iPCSn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          iPCSn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 工控机sn 
       * </pre>
       *
       * <code>string IPCSn = 4;</code>
       */
      public Builder setIPCSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        iPCSn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 工控机sn 
       * </pre>
       *
       * <code>string IPCSn = 4;</code>
       */
      public Builder clearIPCSn() {
        
        iPCSn_ = getDefaultInstance().getIPCSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 工控机sn 
       * </pre>
       *
       * <code>string IPCSn = 4;</code>
       */
      public Builder setIPCSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        iPCSn_ = value;
        onChanged();
        return this;
      }

      private OnePerSecondSendReqProto data_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          OnePerSecondSendReqProto, OnePerSecondSendReqProto.Builder, OnePerSecondSendReqProtoOrBuilder> dataBuilder_;
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public boolean hasData() {
        return dataBuilder_ != null || data_ != null;
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public OnePerSecondSendReqProto getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? OnePerSecondSendReqProto.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public Builder setData(OnePerSecondSendReqProto value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public Builder setData(
          OnePerSecondSendReqProto.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public Builder mergeData(OnePerSecondSendReqProto value) {
        if (dataBuilder_ == null) {
          if (data_ != null) {
            data_ =
              OnePerSecondSendReqProto.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          data_ = null;
          dataBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public OnePerSecondSendReqProto.Builder getDataBuilder() {
        
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      public OnePerSecondSendReqProtoOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              OnePerSecondSendReqProto.getDefaultInstance() : data_;
        }
      }
      /**
       * <pre>
       ** 自车、adas的实体组合数据 
       * </pre>
       *
       * <code>.mogo.yycp.service.OnePerSecondSendReqProto data = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          OnePerSecondSendReqProto, OnePerSecondSendReqProto.Builder, OnePerSecondSendReqProtoOrBuilder>
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              OnePerSecondSendReqProto, OnePerSecondSendReqProto.Builder, OnePerSecondSendReqProtoOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private SocketRequestVo data2_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          SocketRequestVo, SocketRequestVo.Builder, SocketRequestVoOrBuilder> data2Builder_;
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public boolean hasData2() {
        return data2Builder_ != null || data2_ != null;
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public SocketRequestVo getData2() {
        if (data2Builder_ == null) {
          return data2_ == null ? SocketRequestVo.getDefaultInstance() : data2_;
        } else {
          return data2Builder_.getMessage();
        }
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public Builder setData2(SocketRequestVo value) {
        if (data2Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data2_ = value;
          onChanged();
        } else {
          data2Builder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public Builder setData2(
          SocketRequestVo.Builder builderForValue) {
        if (data2Builder_ == null) {
          data2_ = builderForValue.build();
          onChanged();
        } else {
          data2Builder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public Builder mergeData2(SocketRequestVo value) {
        if (data2Builder_ == null) {
          if (data2_ != null) {
            data2_ =
              SocketRequestVo.newBuilder(data2_).mergeFrom(value).buildPartial();
          } else {
            data2_ = value;
          }
          onChanged();
        } else {
          data2Builder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public Builder clearData2() {
        if (data2Builder_ == null) {
          data2_ = null;
          onChanged();
        } else {
          data2_ = null;
          data2Builder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public SocketRequestVo.Builder getData2Builder() {
        
        onChanged();
        return getData2FieldBuilder().getBuilder();
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      public SocketRequestVoOrBuilder getData2OrBuilder() {
        if (data2Builder_ != null) {
          return data2Builder_.getMessageOrBuilder();
        } else {
          return data2_ == null ?
              SocketRequestVo.getDefaultInstance() : data2_;
        }
      }
      /**
       * <pre>
       ** AI云上行数据处理 / 小程序上行数据处理 
       * </pre>
       *
       * <code>.mogo.yycp.service.SocketRequestVo data2 = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          SocketRequestVo, SocketRequestVo.Builder, SocketRequestVoOrBuilder>
          getData2FieldBuilder() {
        if (data2Builder_ == null) {
          data2Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
              SocketRequestVo, SocketRequestVo.Builder, SocketRequestVoOrBuilder>(
                  getData2(),
                  getParentForChildren(),
                  isClean());
          data2_ = null;
        }
        return data2Builder_;
      }

      private long utcTime_ ;
      /**
       * <code>uint64 utcTime = 7;</code>
       */
      public long getUtcTime() {
        return utcTime_;
      }
      /**
       * <code>uint64 utcTime = 7;</code>
       */
      public Builder setUtcTime(long value) {
        
        utcTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 utcTime = 7;</code>
       */
      public Builder clearUtcTime() {
        
        utcTime_ = 0L;
        onChanged();
        return this;
      }

      private long upUtcTime_ ;
      /**
       * <code>uint64 upUtcTime = 8;</code>
       */
      public long getUpUtcTime() {
        return upUtcTime_;
      }
      /**
       * <code>uint64 upUtcTime = 8;</code>
       */
      public Builder setUpUtcTime(long value) {
        
        upUtcTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 upUtcTime = 8;</code>
       */
      public Builder clearUpUtcTime() {
        
        upUtcTime_ = 0L;
        onChanged();
        return this;
      }

      private Object cityCode_ = "";
      /**
       * <code>string cityCode = 9;</code>
       */
      public String getCityCode() {
        Object ref = cityCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cityCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>string cityCode = 9;</code>
       */
      public com.google.protobuf.ByteString
          getCityCodeBytes() {
        Object ref = cityCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cityCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string cityCode = 9;</code>
       */
      public Builder setCityCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cityCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string cityCode = 9;</code>
       */
      public Builder clearCityCode() {
        
        cityCode_ = getDefaultInstance().getCityCode();
        onChanged();
        return this;
      }
      /**
       * <code>string cityCode = 9;</code>
       */
      public Builder setCityCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cityCode_ = value;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.SocketReceiveDataProto)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.SocketReceiveDataProto)
    private static final SocketReceiveDataProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new SocketReceiveDataProto();
    }

    public static SocketReceiveDataProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<SocketReceiveDataProto>
        PARSER = new com.google.protobuf.AbstractParser<SocketReceiveDataProto>() {
      @Override
      public SocketReceiveDataProto parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new SocketReceiveDataProto(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<SocketReceiveDataProto> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<SocketReceiveDataProto> getParserForType() {
      return PARSER;
    }

    @Override
    public SocketReceiveDataProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface OnePerSecondSendReqProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.OnePerSecondSendReqProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    boolean hasSelf();
    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    MyLocationReq getSelf();
    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    MyLocationReqOrBuilder getSelfOrBuilder();

    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    java.util.List<ADASRecognizedReq>
        getAdasList();
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    ADASRecognizedReq getAdas(int index);
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    int getAdasCount();
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    java.util.List<? extends ADASRecognizedReqOrBuilder>
        getAdasOrBuilderList();
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    ADASRecognizedReqOrBuilder getAdasOrBuilder(
        int index);
  }
  /**
   * <pre>
   * 自车、adas的实体组合
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.service.OnePerSecondSendReqProto}
   */
  public  static final class OnePerSecondSendReqProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.OnePerSecondSendReqProto)
      OnePerSecondSendReqProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use OnePerSecondSendReqProto.newBuilder() to construct.
    private OnePerSecondSendReqProto(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private OnePerSecondSendReqProto() {
      adas_ = java.util.Collections.emptyList();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private OnePerSecondSendReqProto(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              MyLocationReq.Builder subBuilder = null;
              if (self_ != null) {
                subBuilder = self_.toBuilder();
              }
              self_ = input.readMessage(MyLocationReq.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(self_);
                self_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                adas_ = new java.util.ArrayList<ADASRecognizedReq>();
                mutable_bitField0_ |= 0x00000002;
              }
              adas_.add(
                  input.readMessage(ADASRecognizedReq.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          adas_ = java.util.Collections.unmodifiableList(adas_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_OnePerSecondSendReqProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              OnePerSecondSendReqProto.class, Builder.class);
    }

    private int bitField0_;
    public static final int SELF_FIELD_NUMBER = 1;
    private MyLocationReq self_;
    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    public boolean hasSelf() {
      return self_ != null;
    }
    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    public MyLocationReq getSelf() {
      return self_ == null ? MyLocationReq.getDefaultInstance() : self_;
    }
    /**
     * <pre>
     **自车数据
     * </pre>
     *
     * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
     */
    public MyLocationReqOrBuilder getSelfOrBuilder() {
      return getSelf();
    }

    public static final int ADAS_FIELD_NUMBER = 2;
    private java.util.List<ADASRecognizedReq> adas_;
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    public java.util.List<ADASRecognizedReq> getAdasList() {
      return adas_;
    }
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    public java.util.List<? extends ADASRecognizedReqOrBuilder>
        getAdasOrBuilderList() {
      return adas_;
    }
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    public int getAdasCount() {
      return adas_.size();
    }
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    public ADASRecognizedReq getAdas(int index) {
      return adas_.get(index);
    }
    /**
     * <pre>
     **ADAS数据
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
     */
    public ADASRecognizedReqOrBuilder getAdasOrBuilder(
        int index) {
      return adas_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (self_ != null) {
        output.writeMessage(1, getSelf());
      }
      for (int i = 0; i < adas_.size(); i++) {
        output.writeMessage(2, adas_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (self_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getSelf());
      }
      for (int i = 0; i < adas_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, adas_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof OnePerSecondSendReqProto)) {
        return super.equals(obj);
      }
      OnePerSecondSendReqProto other = (OnePerSecondSendReqProto) obj;

      boolean result = true;
      result = result && (hasSelf() == other.hasSelf());
      if (hasSelf()) {
        result = result && getSelf()
            .equals(other.getSelf());
      }
      result = result && getAdasList()
          .equals(other.getAdasList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSelf()) {
        hash = (37 * hash) + SELF_FIELD_NUMBER;
        hash = (53 * hash) + getSelf().hashCode();
      }
      if (getAdasCount() > 0) {
        hash = (37 * hash) + ADAS_FIELD_NUMBER;
        hash = (53 * hash) + getAdasList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static OnePerSecondSendReqProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static OnePerSecondSendReqProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static OnePerSecondSendReqProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static OnePerSecondSendReqProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static OnePerSecondSendReqProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static OnePerSecondSendReqProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static OnePerSecondSendReqProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static OnePerSecondSendReqProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static OnePerSecondSendReqProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static OnePerSecondSendReqProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static OnePerSecondSendReqProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static OnePerSecondSendReqProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(OnePerSecondSendReqProto prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * 自车、adas的实体组合
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.service.OnePerSecondSendReqProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.OnePerSecondSendReqProto)
        OnePerSecondSendReqProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_OnePerSecondSendReqProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                OnePerSecondSendReqProto.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.OnePerSecondSendReqProto.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAdasFieldBuilder();
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        if (selfBuilder_ == null) {
          self_ = null;
        } else {
          self_ = null;
          selfBuilder_ = null;
        }
        if (adasBuilder_ == null) {
          adas_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          adasBuilder_.clear();
        }
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor;
      }

      @Override
      public OnePerSecondSendReqProto getDefaultInstanceForType() {
        return OnePerSecondSendReqProto.getDefaultInstance();
      }

      @Override
      public OnePerSecondSendReqProto build() {
        OnePerSecondSendReqProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public OnePerSecondSendReqProto buildPartial() {
        OnePerSecondSendReqProto result = new OnePerSecondSendReqProto(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (selfBuilder_ == null) {
          result.self_ = self_;
        } else {
          result.self_ = selfBuilder_.build();
        }
        if (adasBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            adas_ = java.util.Collections.unmodifiableList(adas_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.adas_ = adas_;
        } else {
          result.adas_ = adasBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof OnePerSecondSendReqProto) {
          return mergeFrom((OnePerSecondSendReqProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(OnePerSecondSendReqProto other) {
        if (other == OnePerSecondSendReqProto.getDefaultInstance()) return this;
        if (other.hasSelf()) {
          mergeSelf(other.getSelf());
        }
        if (adasBuilder_ == null) {
          if (!other.adas_.isEmpty()) {
            if (adas_.isEmpty()) {
              adas_ = other.adas_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAdasIsMutable();
              adas_.addAll(other.adas_);
            }
            onChanged();
          }
        } else {
          if (!other.adas_.isEmpty()) {
            if (adasBuilder_.isEmpty()) {
              adasBuilder_.dispose();
              adasBuilder_ = null;
              adas_ = other.adas_;
              bitField0_ = (bitField0_ & ~0x00000002);
              adasBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAdasFieldBuilder() : null;
            } else {
              adasBuilder_.addAllMessages(other.adas_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        OnePerSecondSendReqProto parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (OnePerSecondSendReqProto) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private MyLocationReq self_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          MyLocationReq, MyLocationReq.Builder, MyLocationReqOrBuilder> selfBuilder_;
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public boolean hasSelf() {
        return selfBuilder_ != null || self_ != null;
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public MyLocationReq getSelf() {
        if (selfBuilder_ == null) {
          return self_ == null ? MyLocationReq.getDefaultInstance() : self_;
        } else {
          return selfBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public Builder setSelf(MyLocationReq value) {
        if (selfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          self_ = value;
          onChanged();
        } else {
          selfBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public Builder setSelf(
          MyLocationReq.Builder builderForValue) {
        if (selfBuilder_ == null) {
          self_ = builderForValue.build();
          onChanged();
        } else {
          selfBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public Builder mergeSelf(MyLocationReq value) {
        if (selfBuilder_ == null) {
          if (self_ != null) {
            self_ =
              MyLocationReq.newBuilder(self_).mergeFrom(value).buildPartial();
          } else {
            self_ = value;
          }
          onChanged();
        } else {
          selfBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public Builder clearSelf() {
        if (selfBuilder_ == null) {
          self_ = null;
          onChanged();
        } else {
          self_ = null;
          selfBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public MyLocationReq.Builder getSelfBuilder() {
        
        onChanged();
        return getSelfFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      public MyLocationReqOrBuilder getSelfOrBuilder() {
        if (selfBuilder_ != null) {
          return selfBuilder_.getMessageOrBuilder();
        } else {
          return self_ == null ?
              MyLocationReq.getDefaultInstance() : self_;
        }
      }
      /**
       * <pre>
       **自车数据
       * </pre>
       *
       * <code>.mogo.yycp.service.MyLocationReq self = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          MyLocationReq, MyLocationReq.Builder, MyLocationReqOrBuilder>
          getSelfFieldBuilder() {
        if (selfBuilder_ == null) {
          selfBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              MyLocationReq, MyLocationReq.Builder, MyLocationReqOrBuilder>(
                  getSelf(),
                  getParentForChildren(),
                  isClean());
          self_ = null;
        }
        return selfBuilder_;
      }

      private java.util.List<ADASRecognizedReq> adas_ =
        java.util.Collections.emptyList();
      private void ensureAdasIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          adas_ = new java.util.ArrayList<ADASRecognizedReq>(adas_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          ADASRecognizedReq, ADASRecognizedReq.Builder, ADASRecognizedReqOrBuilder> adasBuilder_;

      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public java.util.List<ADASRecognizedReq> getAdasList() {
        if (adasBuilder_ == null) {
          return java.util.Collections.unmodifiableList(adas_);
        } else {
          return adasBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public int getAdasCount() {
        if (adasBuilder_ == null) {
          return adas_.size();
        } else {
          return adasBuilder_.getCount();
        }
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public ADASRecognizedReq getAdas(int index) {
        if (adasBuilder_ == null) {
          return adas_.get(index);
        } else {
          return adasBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder setAdas(
          int index, ADASRecognizedReq value) {
        if (adasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdasIsMutable();
          adas_.set(index, value);
          onChanged();
        } else {
          adasBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder setAdas(
          int index, ADASRecognizedReq.Builder builderForValue) {
        if (adasBuilder_ == null) {
          ensureAdasIsMutable();
          adas_.set(index, builderForValue.build());
          onChanged();
        } else {
          adasBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder addAdas(ADASRecognizedReq value) {
        if (adasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdasIsMutable();
          adas_.add(value);
          onChanged();
        } else {
          adasBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder addAdas(
          int index, ADASRecognizedReq value) {
        if (adasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdasIsMutable();
          adas_.add(index, value);
          onChanged();
        } else {
          adasBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder addAdas(
          ADASRecognizedReq.Builder builderForValue) {
        if (adasBuilder_ == null) {
          ensureAdasIsMutable();
          adas_.add(builderForValue.build());
          onChanged();
        } else {
          adasBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder addAdas(
          int index, ADASRecognizedReq.Builder builderForValue) {
        if (adasBuilder_ == null) {
          ensureAdasIsMutable();
          adas_.add(index, builderForValue.build());
          onChanged();
        } else {
          adasBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder addAllAdas(
          Iterable<? extends ADASRecognizedReq> values) {
        if (adasBuilder_ == null) {
          ensureAdasIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, adas_);
          onChanged();
        } else {
          adasBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder clearAdas() {
        if (adasBuilder_ == null) {
          adas_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          adasBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public Builder removeAdas(int index) {
        if (adasBuilder_ == null) {
          ensureAdasIsMutable();
          adas_.remove(index);
          onChanged();
        } else {
          adasBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public ADASRecognizedReq.Builder getAdasBuilder(
          int index) {
        return getAdasFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public ADASRecognizedReqOrBuilder getAdasOrBuilder(
          int index) {
        if (adasBuilder_ == null) {
          return adas_.get(index);  } else {
          return adasBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public java.util.List<? extends ADASRecognizedReqOrBuilder>
           getAdasOrBuilderList() {
        if (adasBuilder_ != null) {
          return adasBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(adas_);
        }
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public ADASRecognizedReq.Builder addAdasBuilder() {
        return getAdasFieldBuilder().addBuilder(
            ADASRecognizedReq.getDefaultInstance());
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public ADASRecognizedReq.Builder addAdasBuilder(
          int index) {
        return getAdasFieldBuilder().addBuilder(
            index, ADASRecognizedReq.getDefaultInstance());
      }
      /**
       * <pre>
       **ADAS数据
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.ADASRecognizedReq adas = 2;</code>
       */
      public java.util.List<ADASRecognizedReq.Builder>
           getAdasBuilderList() {
        return getAdasFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          ADASRecognizedReq, ADASRecognizedReq.Builder, ADASRecognizedReqOrBuilder>
          getAdasFieldBuilder() {
        if (adasBuilder_ == null) {
          adasBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              ADASRecognizedReq, ADASRecognizedReq.Builder, ADASRecognizedReqOrBuilder>(
                  adas_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          adas_ = null;
        }
        return adasBuilder_;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.OnePerSecondSendReqProto)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.OnePerSecondSendReqProto)
    private static final OnePerSecondSendReqProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new OnePerSecondSendReqProto();
    }

    public static OnePerSecondSendReqProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<OnePerSecondSendReqProto>
        PARSER = new com.google.protobuf.AbstractParser<OnePerSecondSendReqProto>() {
      @Override
      public OnePerSecondSendReqProto parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new OnePerSecondSendReqProto(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<OnePerSecondSendReqProto> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<OnePerSecondSendReqProto> getParserForType() {
      return PARSER;
    }

    @Override
    public OnePerSecondSendReqProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MyLocationReqOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.MyLocationReq)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     ** 车机sn 
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    String getSn();
    /**
     * <pre>
     ** 车机sn 
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    com.google.protobuf.ByteString
        getSnBytes();

    /**
     * <pre>
     ** morton码 
     * </pre>
     *
     * <code>uint64 mortonCode = 2;</code>
     */
    long getMortonCode();

    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    boolean hasLastCoordinate();
    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    LocationInfoProto getLastCoordinate();
    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    LocationInfoProtoOrBuilder getLastCoordinateOrBuilder();

    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    java.util.List<LocationInfoProto>
        getCoordinatesList();
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    LocationInfoProto getCoordinates(int index);
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    int getCoordinatesCount();
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    java.util.List<? extends LocationInfoProtoOrBuilder>
        getCoordinatesOrBuilderList();
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    LocationInfoProtoOrBuilder getCoordinatesOrBuilder(
        int index);

    /**
     * <pre>
     ** {&#64;link mogo.yycp.api.eunm.DataSourceType} 
     * </pre>
     *
     * <code>uint32 fromType = 5;</code>
     */
    int getFromType();

    /**
     * <pre>
     ** 数据来源精度 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 6;</code>
     */
    int getDataAccuracy();

    /**
     * <pre>
     ** 业务类型：1.车机展示， 2.数字孪生 
     * </pre>
     *
     * <code>uint32 businessType = 7;</code>
     */
    int getBusinessType();
  }
  /**
   * <pre>
   * 自车组合实体
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.service.MyLocationReq}
   */
  public  static final class MyLocationReq extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.MyLocationReq)
      MyLocationReqOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MyLocationReq.newBuilder() to construct.
    private MyLocationReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MyLocationReq() {
      sn_ = "";
      mortonCode_ = 0L;
      coordinates_ = java.util.Collections.emptyList();
      fromType_ = 0;
      dataAccuracy_ = 0;
      businessType_ = 0;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MyLocationReq(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              String s = input.readStringRequireUtf8();

              sn_ = s;
              break;
            }
            case 16: {

              mortonCode_ = input.readUInt64();
              break;
            }
            case 26: {
              LocationInfoProto.Builder subBuilder = null;
              if (lastCoordinate_ != null) {
                subBuilder = lastCoordinate_.toBuilder();
              }
              lastCoordinate_ = input.readMessage(LocationInfoProto.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(lastCoordinate_);
                lastCoordinate_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                coordinates_ = new java.util.ArrayList<LocationInfoProto>();
                mutable_bitField0_ |= 0x00000008;
              }
              coordinates_.add(
                  input.readMessage(LocationInfoProto.parser(), extensionRegistry));
              break;
            }
            case 40: {

              fromType_ = input.readUInt32();
              break;
            }
            case 48: {

              dataAccuracy_ = input.readUInt32();
              break;
            }
            case 56: {

              businessType_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          coordinates_ = java.util.Collections.unmodifiableList(coordinates_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_MyLocationReq_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_MyLocationReq_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              MyLocationReq.class, Builder.class);
    }

    private int bitField0_;
    public static final int SN_FIELD_NUMBER = 1;
    private volatile Object sn_;
    /**
     * <pre>
     ** 车机sn 
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public String getSn() {
      Object ref = sn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        sn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 车机sn 
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSnBytes() {
      Object ref = sn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MORTONCODE_FIELD_NUMBER = 2;
    private long mortonCode_;
    /**
     * <pre>
     ** morton码 
     * </pre>
     *
     * <code>uint64 mortonCode = 2;</code>
     */
    public long getMortonCode() {
      return mortonCode_;
    }

    public static final int LASTCOORDINATE_FIELD_NUMBER = 3;
    private LocationInfoProto lastCoordinate_;
    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    public boolean hasLastCoordinate() {
      return lastCoordinate_ != null;
    }
    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    public LocationInfoProto getLastCoordinate() {
      return lastCoordinate_ == null ? LocationInfoProto.getDefaultInstance() : lastCoordinate_;
    }
    /**
     * <pre>
     ** 最后一个车机定位信息 
     * </pre>
     *
     * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
     */
    public LocationInfoProtoOrBuilder getLastCoordinateOrBuilder() {
      return getLastCoordinate();
    }

    public static final int COORDINATES_FIELD_NUMBER = 4;
    private java.util.List<LocationInfoProto> coordinates_;
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    public java.util.List<LocationInfoProto> getCoordinatesList() {
      return coordinates_;
    }
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    public java.util.List<? extends LocationInfoProtoOrBuilder>
        getCoordinatesOrBuilderList() {
      return coordinates_;
    }
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    public int getCoordinatesCount() {
      return coordinates_.size();
    }
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    public LocationInfoProto getCoordinates(int index) {
      return coordinates_.get(index);
    }
    /**
     * <pre>
     ** 高精采集在时间段内采集多次车机定位信息 
     * </pre>
     *
     * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
     */
    public LocationInfoProtoOrBuilder getCoordinatesOrBuilder(
        int index) {
      return coordinates_.get(index);
    }

    public static final int FROMTYPE_FIELD_NUMBER = 5;
    private int fromType_;
    /**
     * <pre>
     ** {&#64;link mogo.yycp.api.eunm.DataSourceType} 
     * </pre>
     *
     * <code>uint32 fromType = 5;</code>
     */
    public int getFromType() {
      return fromType_;
    }

    public static final int DATAACCURACY_FIELD_NUMBER = 6;
    private int dataAccuracy_;
    /**
     * <pre>
     ** 数据来源精度 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 6;</code>
     */
    public int getDataAccuracy() {
      return dataAccuracy_;
    }

    public static final int BUSINESSTYPE_FIELD_NUMBER = 7;
    private int businessType_;
    /**
     * <pre>
     ** 业务类型：1.车机展示， 2.数字孪生 
     * </pre>
     *
     * <code>uint32 businessType = 7;</code>
     */
    public int getBusinessType() {
      return businessType_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sn_);
      }
      if (mortonCode_ != 0L) {
        output.writeUInt64(2, mortonCode_);
      }
      if (lastCoordinate_ != null) {
        output.writeMessage(3, getLastCoordinate());
      }
      for (int i = 0; i < coordinates_.size(); i++) {
        output.writeMessage(4, coordinates_.get(i));
      }
      if (fromType_ != 0) {
        output.writeUInt32(5, fromType_);
      }
      if (dataAccuracy_ != 0) {
        output.writeUInt32(6, dataAccuracy_);
      }
      if (businessType_ != 0) {
        output.writeUInt32(7, businessType_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, sn_);
      }
      if (mortonCode_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, mortonCode_);
      }
      if (lastCoordinate_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLastCoordinate());
      }
      for (int i = 0; i < coordinates_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, coordinates_.get(i));
      }
      if (fromType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, fromType_);
      }
      if (dataAccuracy_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, dataAccuracy_);
      }
      if (businessType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, businessType_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof MyLocationReq)) {
        return super.equals(obj);
      }
      MyLocationReq other = (MyLocationReq) obj;

      boolean result = true;
      result = result && getSn()
          .equals(other.getSn());
      result = result && (getMortonCode()
          == other.getMortonCode());
      result = result && (hasLastCoordinate() == other.hasLastCoordinate());
      if (hasLastCoordinate()) {
        result = result && getLastCoordinate()
            .equals(other.getLastCoordinate());
      }
      result = result && getCoordinatesList()
          .equals(other.getCoordinatesList());
      result = result && (getFromType()
          == other.getFromType());
      result = result && (getDataAccuracy()
          == other.getDataAccuracy());
      result = result && (getBusinessType()
          == other.getBusinessType());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SN_FIELD_NUMBER;
      hash = (53 * hash) + getSn().hashCode();
      hash = (37 * hash) + MORTONCODE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMortonCode());
      if (hasLastCoordinate()) {
        hash = (37 * hash) + LASTCOORDINATE_FIELD_NUMBER;
        hash = (53 * hash) + getLastCoordinate().hashCode();
      }
      if (getCoordinatesCount() > 0) {
        hash = (37 * hash) + COORDINATES_FIELD_NUMBER;
        hash = (53 * hash) + getCoordinatesList().hashCode();
      }
      hash = (37 * hash) + FROMTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getFromType();
      hash = (37 * hash) + DATAACCURACY_FIELD_NUMBER;
      hash = (53 * hash) + getDataAccuracy();
      hash = (37 * hash) + BUSINESSTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getBusinessType();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static MyLocationReq parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static MyLocationReq parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static MyLocationReq parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static MyLocationReq parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static MyLocationReq parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static MyLocationReq parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static MyLocationReq parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static MyLocationReq parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static MyLocationReq parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static MyLocationReq parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static MyLocationReq parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static MyLocationReq parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(MyLocationReq prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * 自车组合实体
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.service.MyLocationReq}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.MyLocationReq)
        MyLocationReqOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_MyLocationReq_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_MyLocationReq_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                MyLocationReq.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.MyLocationReq.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getCoordinatesFieldBuilder();
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        sn_ = "";

        mortonCode_ = 0L;

        if (lastCoordinateBuilder_ == null) {
          lastCoordinate_ = null;
        } else {
          lastCoordinate_ = null;
          lastCoordinateBuilder_ = null;
        }
        if (coordinatesBuilder_ == null) {
          coordinates_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          coordinatesBuilder_.clear();
        }
        fromType_ = 0;

        dataAccuracy_ = 0;

        businessType_ = 0;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_MyLocationReq_descriptor;
      }

      @Override
      public MyLocationReq getDefaultInstanceForType() {
        return MyLocationReq.getDefaultInstance();
      }

      @Override
      public MyLocationReq build() {
        MyLocationReq result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public MyLocationReq buildPartial() {
        MyLocationReq result = new MyLocationReq(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.sn_ = sn_;
        result.mortonCode_ = mortonCode_;
        if (lastCoordinateBuilder_ == null) {
          result.lastCoordinate_ = lastCoordinate_;
        } else {
          result.lastCoordinate_ = lastCoordinateBuilder_.build();
        }
        if (coordinatesBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            coordinates_ = java.util.Collections.unmodifiableList(coordinates_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.coordinates_ = coordinates_;
        } else {
          result.coordinates_ = coordinatesBuilder_.build();
        }
        result.fromType_ = fromType_;
        result.dataAccuracy_ = dataAccuracy_;
        result.businessType_ = businessType_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof MyLocationReq) {
          return mergeFrom((MyLocationReq)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(MyLocationReq other) {
        if (other == MyLocationReq.getDefaultInstance()) return this;
        if (!other.getSn().isEmpty()) {
          sn_ = other.sn_;
          onChanged();
        }
        if (other.getMortonCode() != 0L) {
          setMortonCode(other.getMortonCode());
        }
        if (other.hasLastCoordinate()) {
          mergeLastCoordinate(other.getLastCoordinate());
        }
        if (coordinatesBuilder_ == null) {
          if (!other.coordinates_.isEmpty()) {
            if (coordinates_.isEmpty()) {
              coordinates_ = other.coordinates_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureCoordinatesIsMutable();
              coordinates_.addAll(other.coordinates_);
            }
            onChanged();
          }
        } else {
          if (!other.coordinates_.isEmpty()) {
            if (coordinatesBuilder_.isEmpty()) {
              coordinatesBuilder_.dispose();
              coordinatesBuilder_ = null;
              coordinates_ = other.coordinates_;
              bitField0_ = (bitField0_ & ~0x00000008);
              coordinatesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getCoordinatesFieldBuilder() : null;
            } else {
              coordinatesBuilder_.addAllMessages(other.coordinates_);
            }
          }
        }
        if (other.getFromType() != 0) {
          setFromType(other.getFromType());
        }
        if (other.getDataAccuracy() != 0) {
          setDataAccuracy(other.getDataAccuracy());
        }
        if (other.getBusinessType() != 0) {
          setBusinessType(other.getBusinessType());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        MyLocationReq parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (MyLocationReq) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private Object sn_ = "";
      /**
       * <pre>
       ** 车机sn 
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public String getSn() {
        Object ref = sn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          sn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 车机sn 
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSnBytes() {
        Object ref = sn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 车机sn 
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车机sn 
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder clearSn() {
        
        sn_ = getDefaultInstance().getSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车机sn 
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sn_ = value;
        onChanged();
        return this;
      }

      private long mortonCode_ ;
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 2;</code>
       */
      public long getMortonCode() {
        return mortonCode_;
      }
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 2;</code>
       */
      public Builder setMortonCode(long value) {
        
        mortonCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 2;</code>
       */
      public Builder clearMortonCode() {
        
        mortonCode_ = 0L;
        onChanged();
        return this;
      }

      private LocationInfoProto lastCoordinate_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder> lastCoordinateBuilder_;
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public boolean hasLastCoordinate() {
        return lastCoordinateBuilder_ != null || lastCoordinate_ != null;
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public LocationInfoProto getLastCoordinate() {
        if (lastCoordinateBuilder_ == null) {
          return lastCoordinate_ == null ? LocationInfoProto.getDefaultInstance() : lastCoordinate_;
        } else {
          return lastCoordinateBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public Builder setLastCoordinate(LocationInfoProto value) {
        if (lastCoordinateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lastCoordinate_ = value;
          onChanged();
        } else {
          lastCoordinateBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public Builder setLastCoordinate(
          LocationInfoProto.Builder builderForValue) {
        if (lastCoordinateBuilder_ == null) {
          lastCoordinate_ = builderForValue.build();
          onChanged();
        } else {
          lastCoordinateBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public Builder mergeLastCoordinate(LocationInfoProto value) {
        if (lastCoordinateBuilder_ == null) {
          if (lastCoordinate_ != null) {
            lastCoordinate_ =
              LocationInfoProto.newBuilder(lastCoordinate_).mergeFrom(value).buildPartial();
          } else {
            lastCoordinate_ = value;
          }
          onChanged();
        } else {
          lastCoordinateBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public Builder clearLastCoordinate() {
        if (lastCoordinateBuilder_ == null) {
          lastCoordinate_ = null;
          onChanged();
        } else {
          lastCoordinate_ = null;
          lastCoordinateBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public LocationInfoProto.Builder getLastCoordinateBuilder() {
        
        onChanged();
        return getLastCoordinateFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      public LocationInfoProtoOrBuilder getLastCoordinateOrBuilder() {
        if (lastCoordinateBuilder_ != null) {
          return lastCoordinateBuilder_.getMessageOrBuilder();
        } else {
          return lastCoordinate_ == null ?
              LocationInfoProto.getDefaultInstance() : lastCoordinate_;
        }
      }
      /**
       * <pre>
       ** 最后一个车机定位信息 
       * </pre>
       *
       * <code>.mogo.yycp.service.LocationInfoProto lastCoordinate = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder>
          getLastCoordinateFieldBuilder() {
        if (lastCoordinateBuilder_ == null) {
          lastCoordinateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder>(
                  getLastCoordinate(),
                  getParentForChildren(),
                  isClean());
          lastCoordinate_ = null;
        }
        return lastCoordinateBuilder_;
      }

      private java.util.List<LocationInfoProto> coordinates_ =
        java.util.Collections.emptyList();
      private void ensureCoordinatesIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          coordinates_ = new java.util.ArrayList<LocationInfoProto>(coordinates_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder> coordinatesBuilder_;

      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public java.util.List<LocationInfoProto> getCoordinatesList() {
        if (coordinatesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(coordinates_);
        } else {
          return coordinatesBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public int getCoordinatesCount() {
        if (coordinatesBuilder_ == null) {
          return coordinates_.size();
        } else {
          return coordinatesBuilder_.getCount();
        }
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public LocationInfoProto getCoordinates(int index) {
        if (coordinatesBuilder_ == null) {
          return coordinates_.get(index);
        } else {
          return coordinatesBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder setCoordinates(
          int index, LocationInfoProto value) {
        if (coordinatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCoordinatesIsMutable();
          coordinates_.set(index, value);
          onChanged();
        } else {
          coordinatesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder setCoordinates(
          int index, LocationInfoProto.Builder builderForValue) {
        if (coordinatesBuilder_ == null) {
          ensureCoordinatesIsMutable();
          coordinates_.set(index, builderForValue.build());
          onChanged();
        } else {
          coordinatesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder addCoordinates(LocationInfoProto value) {
        if (coordinatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCoordinatesIsMutable();
          coordinates_.add(value);
          onChanged();
        } else {
          coordinatesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder addCoordinates(
          int index, LocationInfoProto value) {
        if (coordinatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCoordinatesIsMutable();
          coordinates_.add(index, value);
          onChanged();
        } else {
          coordinatesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder addCoordinates(
          LocationInfoProto.Builder builderForValue) {
        if (coordinatesBuilder_ == null) {
          ensureCoordinatesIsMutable();
          coordinates_.add(builderForValue.build());
          onChanged();
        } else {
          coordinatesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder addCoordinates(
          int index, LocationInfoProto.Builder builderForValue) {
        if (coordinatesBuilder_ == null) {
          ensureCoordinatesIsMutable();
          coordinates_.add(index, builderForValue.build());
          onChanged();
        } else {
          coordinatesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder addAllCoordinates(
          Iterable<? extends LocationInfoProto> values) {
        if (coordinatesBuilder_ == null) {
          ensureCoordinatesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, coordinates_);
          onChanged();
        } else {
          coordinatesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder clearCoordinates() {
        if (coordinatesBuilder_ == null) {
          coordinates_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          coordinatesBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public Builder removeCoordinates(int index) {
        if (coordinatesBuilder_ == null) {
          ensureCoordinatesIsMutable();
          coordinates_.remove(index);
          onChanged();
        } else {
          coordinatesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public LocationInfoProto.Builder getCoordinatesBuilder(
          int index) {
        return getCoordinatesFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public LocationInfoProtoOrBuilder getCoordinatesOrBuilder(
          int index) {
        if (coordinatesBuilder_ == null) {
          return coordinates_.get(index);  } else {
          return coordinatesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public java.util.List<? extends LocationInfoProtoOrBuilder>
           getCoordinatesOrBuilderList() {
        if (coordinatesBuilder_ != null) {
          return coordinatesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(coordinates_);
        }
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public LocationInfoProto.Builder addCoordinatesBuilder() {
        return getCoordinatesFieldBuilder().addBuilder(
            LocationInfoProto.getDefaultInstance());
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public LocationInfoProto.Builder addCoordinatesBuilder(
          int index) {
        return getCoordinatesFieldBuilder().addBuilder(
            index, LocationInfoProto.getDefaultInstance());
      }
      /**
       * <pre>
       ** 高精采集在时间段内采集多次车机定位信息 
       * </pre>
       *
       * <code>repeated .mogo.yycp.service.LocationInfoProto coordinates = 4;</code>
       */
      public java.util.List<LocationInfoProto.Builder>
           getCoordinatesBuilderList() {
        return getCoordinatesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder>
          getCoordinatesFieldBuilder() {
        if (coordinatesBuilder_ == null) {
          coordinatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              LocationInfoProto, LocationInfoProto.Builder, LocationInfoProtoOrBuilder>(
                  coordinates_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          coordinates_ = null;
        }
        return coordinatesBuilder_;
      }

      private int fromType_ ;
      /**
       * <pre>
       ** {&#64;link mogo.yycp.api.eunm.DataSourceType} 
       * </pre>
       *
       * <code>uint32 fromType = 5;</code>
       */
      public int getFromType() {
        return fromType_;
      }
      /**
       * <pre>
       ** {&#64;link mogo.yycp.api.eunm.DataSourceType} 
       * </pre>
       *
       * <code>uint32 fromType = 5;</code>
       */
      public Builder setFromType(int value) {
        
        fromType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** {&#64;link mogo.yycp.api.eunm.DataSourceType} 
       * </pre>
       *
       * <code>uint32 fromType = 5;</code>
       */
      public Builder clearFromType() {
        
        fromType_ = 0;
        onChanged();
        return this;
      }

      private int dataAccuracy_ ;
      /**
       * <pre>
       ** 数据来源精度 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 6;</code>
       */
      public int getDataAccuracy() {
        return dataAccuracy_;
      }
      /**
       * <pre>
       ** 数据来源精度 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 6;</code>
       */
      public Builder setDataAccuracy(int value) {
        
        dataAccuracy_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 数据来源精度 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 6;</code>
       */
      public Builder clearDataAccuracy() {
        
        dataAccuracy_ = 0;
        onChanged();
        return this;
      }

      private int businessType_ ;
      /**
       * <pre>
       ** 业务类型：1.车机展示， 2.数字孪生 
       * </pre>
       *
       * <code>uint32 businessType = 7;</code>
       */
      public int getBusinessType() {
        return businessType_;
      }
      /**
       * <pre>
       ** 业务类型：1.车机展示， 2.数字孪生 
       * </pre>
       *
       * <code>uint32 businessType = 7;</code>
       */
      public Builder setBusinessType(int value) {
        
        businessType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 业务类型：1.车机展示， 2.数字孪生 
       * </pre>
       *
       * <code>uint32 businessType = 7;</code>
       */
      public Builder clearBusinessType() {
        
        businessType_ = 0;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.MyLocationReq)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.MyLocationReq)
    private static final MyLocationReq DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new MyLocationReq();
    }

    public static MyLocationReq getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MyLocationReq>
        PARSER = new com.google.protobuf.AbstractParser<MyLocationReq>() {
      @Override
      public MyLocationReq parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MyLocationReq(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MyLocationReq> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<MyLocationReq> getParserForType() {
      return PARSER;
    }

    @Override
    public MyLocationReq getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface LocationInfoProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.LocationInfoProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     ** 车机sn --必须传
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    String getSn();
    /**
     * <pre>
     ** 车机sn --必须传
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    com.google.protobuf.ByteString
        getSnBytes();

    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 2;</code>
     */
    String getColor();
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 2;</code>
     */
    com.google.protobuf.ByteString
        getColorBytes();

    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 3;</code>
     */
    String getCardId();
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 3;</code>
     */
    com.google.protobuf.ByteString
        getCardIdBytes();

    /**
     * <pre>
     ** 纬度 
     * </pre>
     *
     * <code>double lat = 4;</code>
     */
    double getLat();

    /**
     * <pre>
     ** 经度 
     * </pre>
     *
     * <code>double lon = 5;</code>
     */
    double getLon();

    /**
     * <pre>
     ** 方向 
     * </pre>
     *
     * <code>double heading = 6;</code>
     */
    double getHeading();

    /**
     * <pre>
     ** 采集时间 
     * </pre>
     *
     * <code>uint64 systemTime = 7;</code>
     */
    long getSystemTime();

    /**
     * <pre>
     ** 卫星时间 
     * </pre>
     *
     * <code>uint64 satelliteTime = 8;</code>
     */
    long getSatelliteTime();

    /**
     * <pre>
     ** 海拔 
     * </pre>
     *
     * <code>double alt = 9;</code>
     */
    double getAlt();

    /**
     * <pre>
     ** 惯导车速 --更准 
     * </pre>
     *
     * <code>double speed = 10;</code>
     */
    double getSpeed();

    /**
     * <pre>
     ** 自车速度 --一般 
     * </pre>
     *
     * <code>double vehicleSpeed = 11;</code>
     */
    double getVehicleSpeed();

    /**
     * <pre>
     ** 加速度 
     * </pre>
     *
     * <code>double acceleration = 12;</code>
     */
    double getAcceleration();

    /**
     * <pre>
     ** 横摆率 
     * </pre>
     *
     * <code>double yawRate = 13;</code>
     */
    double getYawRate();

    /**
     * <pre>
     ** morton码 
     * </pre>
     *
     * <code>uint64 mortonCode = 14;</code>
     */
    long getMortonCode();

    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 15;</code>
     */
    String getCityCode();
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 15;</code>
     */
    com.google.protobuf.ByteString
        getCityCodeBytes();

    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 16;</code>
     */
    int getVehicleType();

    /**
     * <pre>
     ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 17;</code>
     */
    int getDataAccuracy();

    /**
     * <pre>
     ** 瓦片ID --必传
     * </pre>
     *
     * <code>string tileId = 18;</code>
     */
    String getTileId();
    /**
     * <pre>
     ** 瓦片ID --必传
     * </pre>
     *
     * <code>string tileId = 18;</code>
     */
    com.google.protobuf.ByteString
        getTileIdBytes();

    /**
     * <pre>
     ** 0. 不开转向灯, 1. 左转灯开, 2. 右转灯开 
     * </pre>
     *
     * <code>uint32 turnLight = 19;</code>
     */
    int getTurnLight();
  }
  /**
   * <pre>
   * 自车实体详情
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.service.LocationInfoProto}
   */
  public  static final class LocationInfoProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.LocationInfoProto)
      LocationInfoProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LocationInfoProto.newBuilder() to construct.
    private LocationInfoProto(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private LocationInfoProto() {
      sn_ = "";
      color_ = "";
      cardId_ = "";
      lat_ = 0D;
      lon_ = 0D;
      heading_ = 0D;
      systemTime_ = 0L;
      satelliteTime_ = 0L;
      alt_ = 0D;
      speed_ = 0D;
      vehicleSpeed_ = 0D;
      acceleration_ = 0D;
      yawRate_ = 0D;
      mortonCode_ = 0L;
      cityCode_ = "";
      vehicleType_ = 0;
      dataAccuracy_ = 0;
      tileId_ = "";
      turnLight_ = 0;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private LocationInfoProto(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              String s = input.readStringRequireUtf8();

              sn_ = s;
              break;
            }
            case 18: {
              String s = input.readStringRequireUtf8();

              color_ = s;
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              cardId_ = s;
              break;
            }
            case 33: {

              lat_ = input.readDouble();
              break;
            }
            case 41: {

              lon_ = input.readDouble();
              break;
            }
            case 49: {

              heading_ = input.readDouble();
              break;
            }
            case 56: {

              systemTime_ = input.readUInt64();
              break;
            }
            case 64: {

              satelliteTime_ = input.readUInt64();
              break;
            }
            case 73: {

              alt_ = input.readDouble();
              break;
            }
            case 81: {

              speed_ = input.readDouble();
              break;
            }
            case 89: {

              vehicleSpeed_ = input.readDouble();
              break;
            }
            case 97: {

              acceleration_ = input.readDouble();
              break;
            }
            case 105: {

              yawRate_ = input.readDouble();
              break;
            }
            case 112: {

              mortonCode_ = input.readUInt64();
              break;
            }
            case 122: {
              String s = input.readStringRequireUtf8();

              cityCode_ = s;
              break;
            }
            case 128: {

              vehicleType_ = input.readUInt32();
              break;
            }
            case 136: {

              dataAccuracy_ = input.readUInt32();
              break;
            }
            case 146: {
              String s = input.readStringRequireUtf8();

              tileId_ = s;
              break;
            }
            case 152: {

              turnLight_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_LocationInfoProto_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_LocationInfoProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              LocationInfoProto.class, Builder.class);
    }

    public static final int SN_FIELD_NUMBER = 1;
    private volatile Object sn_;
    /**
     * <pre>
     ** 车机sn --必须传
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public String getSn() {
      Object ref = sn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        sn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 车机sn --必须传
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSnBytes() {
      Object ref = sn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COLOR_FIELD_NUMBER = 2;
    private volatile Object color_;
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 2;</code>
     */
    public String getColor() {
      Object ref = color_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        color_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 2;</code>
     */
    public com.google.protobuf.ByteString
        getColorBytes() {
      Object ref = color_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        color_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARDID_FIELD_NUMBER = 3;
    private volatile Object cardId_;
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 3;</code>
     */
    public String getCardId() {
      Object ref = cardId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cardId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCardIdBytes() {
      Object ref = cardId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cardId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LAT_FIELD_NUMBER = 4;
    private double lat_;
    /**
     * <pre>
     ** 纬度 
     * </pre>
     *
     * <code>double lat = 4;</code>
     */
    public double getLat() {
      return lat_;
    }

    public static final int LON_FIELD_NUMBER = 5;
    private double lon_;
    /**
     * <pre>
     ** 经度 
     * </pre>
     *
     * <code>double lon = 5;</code>
     */
    public double getLon() {
      return lon_;
    }

    public static final int HEADING_FIELD_NUMBER = 6;
    private double heading_;
    /**
     * <pre>
     ** 方向 
     * </pre>
     *
     * <code>double heading = 6;</code>
     */
    public double getHeading() {
      return heading_;
    }

    public static final int SYSTEMTIME_FIELD_NUMBER = 7;
    private long systemTime_;
    /**
     * <pre>
     ** 采集时间 
     * </pre>
     *
     * <code>uint64 systemTime = 7;</code>
     */
    public long getSystemTime() {
      return systemTime_;
    }

    public static final int SATELLITETIME_FIELD_NUMBER = 8;
    private long satelliteTime_;
    /**
     * <pre>
     ** 卫星时间 
     * </pre>
     *
     * <code>uint64 satelliteTime = 8;</code>
     */
    public long getSatelliteTime() {
      return satelliteTime_;
    }

    public static final int ALT_FIELD_NUMBER = 9;
    private double alt_;
    /**
     * <pre>
     ** 海拔 
     * </pre>
     *
     * <code>double alt = 9;</code>
     */
    public double getAlt() {
      return alt_;
    }

    public static final int SPEED_FIELD_NUMBER = 10;
    private double speed_;
    /**
     * <pre>
     ** 惯导车速 --更准 
     * </pre>
     *
     * <code>double speed = 10;</code>
     */
    public double getSpeed() {
      return speed_;
    }

    public static final int VEHICLESPEED_FIELD_NUMBER = 11;
    private double vehicleSpeed_;
    /**
     * <pre>
     ** 自车速度 --一般 
     * </pre>
     *
     * <code>double vehicleSpeed = 11;</code>
     */
    public double getVehicleSpeed() {
      return vehicleSpeed_;
    }

    public static final int ACCELERATION_FIELD_NUMBER = 12;
    private double acceleration_;
    /**
     * <pre>
     ** 加速度 
     * </pre>
     *
     * <code>double acceleration = 12;</code>
     */
    public double getAcceleration() {
      return acceleration_;
    }

    public static final int YAWRATE_FIELD_NUMBER = 13;
    private double yawRate_;
    /**
     * <pre>
     ** 横摆率 
     * </pre>
     *
     * <code>double yawRate = 13;</code>
     */
    public double getYawRate() {
      return yawRate_;
    }

    public static final int MORTONCODE_FIELD_NUMBER = 14;
    private long mortonCode_;
    /**
     * <pre>
     ** morton码 
     * </pre>
     *
     * <code>uint64 mortonCode = 14;</code>
     */
    public long getMortonCode() {
      return mortonCode_;
    }

    public static final int CITYCODE_FIELD_NUMBER = 15;
    private volatile Object cityCode_;
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 15;</code>
     */
    public String getCityCode() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cityCode_ = s;
        return s;
      }
    }
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 15;</code>
     */
    public com.google.protobuf.ByteString
        getCityCodeBytes() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cityCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VEHICLETYPE_FIELD_NUMBER = 16;
    private int vehicleType_;
    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 16;</code>
     */
    public int getVehicleType() {
      return vehicleType_;
    }

    public static final int DATAACCURACY_FIELD_NUMBER = 17;
    private int dataAccuracy_;
    /**
     * <pre>
     ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 17;</code>
     */
    public int getDataAccuracy() {
      return dataAccuracy_;
    }

    public static final int TILEID_FIELD_NUMBER = 18;
    private volatile Object tileId_;
    /**
     * <pre>
     ** 瓦片ID --必传
     * </pre>
     *
     * <code>string tileId = 18;</code>
     */
    public String getTileId() {
      Object ref = tileId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        tileId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 瓦片ID --必传
     * </pre>
     *
     * <code>string tileId = 18;</code>
     */
    public com.google.protobuf.ByteString
        getTileIdBytes() {
      Object ref = tileId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        tileId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TURNLIGHT_FIELD_NUMBER = 19;
    private int turnLight_;
    /**
     * <pre>
     ** 0. 不开转向灯, 1. 左转灯开, 2. 右转灯开 
     * </pre>
     *
     * <code>uint32 turnLight = 19;</code>
     */
    public int getTurnLight() {
      return turnLight_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sn_);
      }
      if (!getColorBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, color_);
      }
      if (!getCardIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, cardId_);
      }
      if (lat_ != 0D) {
        output.writeDouble(4, lat_);
      }
      if (lon_ != 0D) {
        output.writeDouble(5, lon_);
      }
      if (heading_ != 0D) {
        output.writeDouble(6, heading_);
      }
      if (systemTime_ != 0L) {
        output.writeUInt64(7, systemTime_);
      }
      if (satelliteTime_ != 0L) {
        output.writeUInt64(8, satelliteTime_);
      }
      if (alt_ != 0D) {
        output.writeDouble(9, alt_);
      }
      if (speed_ != 0D) {
        output.writeDouble(10, speed_);
      }
      if (vehicleSpeed_ != 0D) {
        output.writeDouble(11, vehicleSpeed_);
      }
      if (acceleration_ != 0D) {
        output.writeDouble(12, acceleration_);
      }
      if (yawRate_ != 0D) {
        output.writeDouble(13, yawRate_);
      }
      if (mortonCode_ != 0L) {
        output.writeUInt64(14, mortonCode_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, cityCode_);
      }
      if (vehicleType_ != 0) {
        output.writeUInt32(16, vehicleType_);
      }
      if (dataAccuracy_ != 0) {
        output.writeUInt32(17, dataAccuracy_);
      }
      if (!getTileIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 18, tileId_);
      }
      if (turnLight_ != 0) {
        output.writeUInt32(19, turnLight_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, sn_);
      }
      if (!getColorBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, color_);
      }
      if (!getCardIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, cardId_);
      }
      if (lat_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(4, lat_);
      }
      if (lon_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(5, lon_);
      }
      if (heading_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(6, heading_);
      }
      if (systemTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(7, systemTime_);
      }
      if (satelliteTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(8, satelliteTime_);
      }
      if (alt_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(9, alt_);
      }
      if (speed_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(10, speed_);
      }
      if (vehicleSpeed_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(11, vehicleSpeed_);
      }
      if (acceleration_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(12, acceleration_);
      }
      if (yawRate_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(13, yawRate_);
      }
      if (mortonCode_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(14, mortonCode_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, cityCode_);
      }
      if (vehicleType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(16, vehicleType_);
      }
      if (dataAccuracy_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(17, dataAccuracy_);
      }
      if (!getTileIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, tileId_);
      }
      if (turnLight_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(19, turnLight_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof LocationInfoProto)) {
        return super.equals(obj);
      }
      LocationInfoProto other = (LocationInfoProto) obj;

      boolean result = true;
      result = result && getSn()
          .equals(other.getSn());
      result = result && getColor()
          .equals(other.getColor());
      result = result && getCardId()
          .equals(other.getCardId());
      result = result && (
          Double.doubleToLongBits(getLat())
          == Double.doubleToLongBits(
              other.getLat()));
      result = result && (
          Double.doubleToLongBits(getLon())
          == Double.doubleToLongBits(
              other.getLon()));
      result = result && (
          Double.doubleToLongBits(getHeading())
          == Double.doubleToLongBits(
              other.getHeading()));
      result = result && (getSystemTime()
          == other.getSystemTime());
      result = result && (getSatelliteTime()
          == other.getSatelliteTime());
      result = result && (
          Double.doubleToLongBits(getAlt())
          == Double.doubleToLongBits(
              other.getAlt()));
      result = result && (
          Double.doubleToLongBits(getSpeed())
          == Double.doubleToLongBits(
              other.getSpeed()));
      result = result && (
          Double.doubleToLongBits(getVehicleSpeed())
          == Double.doubleToLongBits(
              other.getVehicleSpeed()));
      result = result && (
          Double.doubleToLongBits(getAcceleration())
          == Double.doubleToLongBits(
              other.getAcceleration()));
      result = result && (
          Double.doubleToLongBits(getYawRate())
          == Double.doubleToLongBits(
              other.getYawRate()));
      result = result && (getMortonCode()
          == other.getMortonCode());
      result = result && getCityCode()
          .equals(other.getCityCode());
      result = result && (getVehicleType()
          == other.getVehicleType());
      result = result && (getDataAccuracy()
          == other.getDataAccuracy());
      result = result && getTileId()
          .equals(other.getTileId());
      result = result && (getTurnLight()
          == other.getTurnLight());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SN_FIELD_NUMBER;
      hash = (53 * hash) + getSn().hashCode();
      hash = (37 * hash) + COLOR_FIELD_NUMBER;
      hash = (53 * hash) + getColor().hashCode();
      hash = (37 * hash) + CARDID_FIELD_NUMBER;
      hash = (53 * hash) + getCardId().hashCode();
      hash = (37 * hash) + LAT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLat()));
      hash = (37 * hash) + LON_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLon()));
      hash = (37 * hash) + HEADING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getHeading()));
      hash = (37 * hash) + SYSTEMTIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSystemTime());
      hash = (37 * hash) + SATELLITETIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSatelliteTime());
      hash = (37 * hash) + ALT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getAlt()));
      hash = (37 * hash) + SPEED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getSpeed()));
      hash = (37 * hash) + VEHICLESPEED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getVehicleSpeed()));
      hash = (37 * hash) + ACCELERATION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getAcceleration()));
      hash = (37 * hash) + YAWRATE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getYawRate()));
      hash = (37 * hash) + MORTONCODE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMortonCode());
      hash = (37 * hash) + CITYCODE_FIELD_NUMBER;
      hash = (53 * hash) + getCityCode().hashCode();
      hash = (37 * hash) + VEHICLETYPE_FIELD_NUMBER;
      hash = (53 * hash) + getVehicleType();
      hash = (37 * hash) + DATAACCURACY_FIELD_NUMBER;
      hash = (53 * hash) + getDataAccuracy();
      hash = (37 * hash) + TILEID_FIELD_NUMBER;
      hash = (53 * hash) + getTileId().hashCode();
      hash = (37 * hash) + TURNLIGHT_FIELD_NUMBER;
      hash = (53 * hash) + getTurnLight();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static LocationInfoProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static LocationInfoProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static LocationInfoProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static LocationInfoProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static LocationInfoProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static LocationInfoProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static LocationInfoProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static LocationInfoProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static LocationInfoProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static LocationInfoProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static LocationInfoProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static LocationInfoProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(LocationInfoProto prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * 自车实体详情
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.service.LocationInfoProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.LocationInfoProto)
        LocationInfoProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_LocationInfoProto_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_LocationInfoProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                LocationInfoProto.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.LocationInfoProto.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        sn_ = "";

        color_ = "";

        cardId_ = "";

        lat_ = 0D;

        lon_ = 0D;

        heading_ = 0D;

        systemTime_ = 0L;

        satelliteTime_ = 0L;

        alt_ = 0D;

        speed_ = 0D;

        vehicleSpeed_ = 0D;

        acceleration_ = 0D;

        yawRate_ = 0D;

        mortonCode_ = 0L;

        cityCode_ = "";

        vehicleType_ = 0;

        dataAccuracy_ = 0;

        tileId_ = "";

        turnLight_ = 0;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_LocationInfoProto_descriptor;
      }

      @Override
      public LocationInfoProto getDefaultInstanceForType() {
        return LocationInfoProto.getDefaultInstance();
      }

      @Override
      public LocationInfoProto build() {
        LocationInfoProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public LocationInfoProto buildPartial() {
        LocationInfoProto result = new LocationInfoProto(this);
        result.sn_ = sn_;
        result.color_ = color_;
        result.cardId_ = cardId_;
        result.lat_ = lat_;
        result.lon_ = lon_;
        result.heading_ = heading_;
        result.systemTime_ = systemTime_;
        result.satelliteTime_ = satelliteTime_;
        result.alt_ = alt_;
        result.speed_ = speed_;
        result.vehicleSpeed_ = vehicleSpeed_;
        result.acceleration_ = acceleration_;
        result.yawRate_ = yawRate_;
        result.mortonCode_ = mortonCode_;
        result.cityCode_ = cityCode_;
        result.vehicleType_ = vehicleType_;
        result.dataAccuracy_ = dataAccuracy_;
        result.tileId_ = tileId_;
        result.turnLight_ = turnLight_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof LocationInfoProto) {
          return mergeFrom((LocationInfoProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(LocationInfoProto other) {
        if (other == LocationInfoProto.getDefaultInstance()) return this;
        if (!other.getSn().isEmpty()) {
          sn_ = other.sn_;
          onChanged();
        }
        if (!other.getColor().isEmpty()) {
          color_ = other.color_;
          onChanged();
        }
        if (!other.getCardId().isEmpty()) {
          cardId_ = other.cardId_;
          onChanged();
        }
        if (other.getLat() != 0D) {
          setLat(other.getLat());
        }
        if (other.getLon() != 0D) {
          setLon(other.getLon());
        }
        if (other.getHeading() != 0D) {
          setHeading(other.getHeading());
        }
        if (other.getSystemTime() != 0L) {
          setSystemTime(other.getSystemTime());
        }
        if (other.getSatelliteTime() != 0L) {
          setSatelliteTime(other.getSatelliteTime());
        }
        if (other.getAlt() != 0D) {
          setAlt(other.getAlt());
        }
        if (other.getSpeed() != 0D) {
          setSpeed(other.getSpeed());
        }
        if (other.getVehicleSpeed() != 0D) {
          setVehicleSpeed(other.getVehicleSpeed());
        }
        if (other.getAcceleration() != 0D) {
          setAcceleration(other.getAcceleration());
        }
        if (other.getYawRate() != 0D) {
          setYawRate(other.getYawRate());
        }
        if (other.getMortonCode() != 0L) {
          setMortonCode(other.getMortonCode());
        }
        if (!other.getCityCode().isEmpty()) {
          cityCode_ = other.cityCode_;
          onChanged();
        }
        if (other.getVehicleType() != 0) {
          setVehicleType(other.getVehicleType());
        }
        if (other.getDataAccuracy() != 0) {
          setDataAccuracy(other.getDataAccuracy());
        }
        if (!other.getTileId().isEmpty()) {
          tileId_ = other.tileId_;
          onChanged();
        }
        if (other.getTurnLight() != 0) {
          setTurnLight(other.getTurnLight());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        LocationInfoProto parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (LocationInfoProto) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private Object sn_ = "";
      /**
       * <pre>
       ** 车机sn --必须传
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public String getSn() {
        Object ref = sn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          sn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 车机sn --必须传
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSnBytes() {
        Object ref = sn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 车机sn --必须传
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车机sn --必须传
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder clearSn() {
        
        sn_ = getDefaultInstance().getSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车机sn --必须传
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sn_ = value;
        onChanged();
        return this;
      }

      private Object color_ = "";
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 2;</code>
       */
      public String getColor() {
        Object ref = color_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          color_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 2;</code>
       */
      public com.google.protobuf.ByteString
          getColorBytes() {
        Object ref = color_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          color_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 2;</code>
       */
      public Builder setColor(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 2;</code>
       */
      public Builder clearColor() {
        
        color_ = getDefaultInstance().getColor();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 2;</code>
       */
      public Builder setColorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        color_ = value;
        onChanged();
        return this;
      }

      private Object cardId_ = "";
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 3;</code>
       */
      public String getCardId() {
        Object ref = cardId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cardId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCardIdBytes() {
        Object ref = cardId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cardId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 3;</code>
       */
      public Builder setCardId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cardId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 3;</code>
       */
      public Builder clearCardId() {
        
        cardId_ = getDefaultInstance().getCardId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 3;</code>
       */
      public Builder setCardIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cardId_ = value;
        onChanged();
        return this;
      }

      private double lat_ ;
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 4;</code>
       */
      public double getLat() {
        return lat_;
      }
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 4;</code>
       */
      public Builder setLat(double value) {
        
        lat_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 4;</code>
       */
      public Builder clearLat() {
        
        lat_ = 0D;
        onChanged();
        return this;
      }

      private double lon_ ;
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 5;</code>
       */
      public double getLon() {
        return lon_;
      }
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 5;</code>
       */
      public Builder setLon(double value) {
        
        lon_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 5;</code>
       */
      public Builder clearLon() {
        
        lon_ = 0D;
        onChanged();
        return this;
      }

      private double heading_ ;
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 6;</code>
       */
      public double getHeading() {
        return heading_;
      }
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 6;</code>
       */
      public Builder setHeading(double value) {
        
        heading_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 6;</code>
       */
      public Builder clearHeading() {
        
        heading_ = 0D;
        onChanged();
        return this;
      }

      private long systemTime_ ;
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 7;</code>
       */
      public long getSystemTime() {
        return systemTime_;
      }
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 7;</code>
       */
      public Builder setSystemTime(long value) {
        
        systemTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 7;</code>
       */
      public Builder clearSystemTime() {
        
        systemTime_ = 0L;
        onChanged();
        return this;
      }

      private long satelliteTime_ ;
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 8;</code>
       */
      public long getSatelliteTime() {
        return satelliteTime_;
      }
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 8;</code>
       */
      public Builder setSatelliteTime(long value) {
        
        satelliteTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 8;</code>
       */
      public Builder clearSatelliteTime() {
        
        satelliteTime_ = 0L;
        onChanged();
        return this;
      }

      private double alt_ ;
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 9;</code>
       */
      public double getAlt() {
        return alt_;
      }
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 9;</code>
       */
      public Builder setAlt(double value) {
        
        alt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 9;</code>
       */
      public Builder clearAlt() {
        
        alt_ = 0D;
        onChanged();
        return this;
      }

      private double speed_ ;
      /**
       * <pre>
       ** 惯导车速 --更准 
       * </pre>
       *
       * <code>double speed = 10;</code>
       */
      public double getSpeed() {
        return speed_;
      }
      /**
       * <pre>
       ** 惯导车速 --更准 
       * </pre>
       *
       * <code>double speed = 10;</code>
       */
      public Builder setSpeed(double value) {
        
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 惯导车速 --更准 
       * </pre>
       *
       * <code>double speed = 10;</code>
       */
      public Builder clearSpeed() {
        
        speed_ = 0D;
        onChanged();
        return this;
      }

      private double vehicleSpeed_ ;
      /**
       * <pre>
       ** 自车速度 --一般 
       * </pre>
       *
       * <code>double vehicleSpeed = 11;</code>
       */
      public double getVehicleSpeed() {
        return vehicleSpeed_;
      }
      /**
       * <pre>
       ** 自车速度 --一般 
       * </pre>
       *
       * <code>double vehicleSpeed = 11;</code>
       */
      public Builder setVehicleSpeed(double value) {
        
        vehicleSpeed_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 自车速度 --一般 
       * </pre>
       *
       * <code>double vehicleSpeed = 11;</code>
       */
      public Builder clearVehicleSpeed() {
        
        vehicleSpeed_ = 0D;
        onChanged();
        return this;
      }

      private double acceleration_ ;
      /**
       * <pre>
       ** 加速度 
       * </pre>
       *
       * <code>double acceleration = 12;</code>
       */
      public double getAcceleration() {
        return acceleration_;
      }
      /**
       * <pre>
       ** 加速度 
       * </pre>
       *
       * <code>double acceleration = 12;</code>
       */
      public Builder setAcceleration(double value) {
        
        acceleration_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 加速度 
       * </pre>
       *
       * <code>double acceleration = 12;</code>
       */
      public Builder clearAcceleration() {
        
        acceleration_ = 0D;
        onChanged();
        return this;
      }

      private double yawRate_ ;
      /**
       * <pre>
       ** 横摆率 
       * </pre>
       *
       * <code>double yawRate = 13;</code>
       */
      public double getYawRate() {
        return yawRate_;
      }
      /**
       * <pre>
       ** 横摆率 
       * </pre>
       *
       * <code>double yawRate = 13;</code>
       */
      public Builder setYawRate(double value) {
        
        yawRate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 横摆率 
       * </pre>
       *
       * <code>double yawRate = 13;</code>
       */
      public Builder clearYawRate() {
        
        yawRate_ = 0D;
        onChanged();
        return this;
      }

      private long mortonCode_ ;
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 14;</code>
       */
      public long getMortonCode() {
        return mortonCode_;
      }
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 14;</code>
       */
      public Builder setMortonCode(long value) {
        
        mortonCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** morton码 
       * </pre>
       *
       * <code>uint64 mortonCode = 14;</code>
       */
      public Builder clearMortonCode() {
        
        mortonCode_ = 0L;
        onChanged();
        return this;
      }

      private Object cityCode_ = "";
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 15;</code>
       */
      public String getCityCode() {
        Object ref = cityCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cityCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 15;</code>
       */
      public com.google.protobuf.ByteString
          getCityCodeBytes() {
        Object ref = cityCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cityCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 15;</code>
       */
      public Builder setCityCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cityCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 15;</code>
       */
      public Builder clearCityCode() {
        
        cityCode_ = getDefaultInstance().getCityCode();
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 15;</code>
       */
      public Builder setCityCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cityCode_ = value;
        onChanged();
        return this;
      }

      private int vehicleType_ ;
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 16;</code>
       */
      public int getVehicleType() {
        return vehicleType_;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 16;</code>
       */
      public Builder setVehicleType(int value) {
        
        vehicleType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 16;</code>
       */
      public Builder clearVehicleType() {
        
        vehicleType_ = 0;
        onChanged();
        return this;
      }

      private int dataAccuracy_ ;
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 17;</code>
       */
      public int getDataAccuracy() {
        return dataAccuracy_;
      }
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 17;</code>
       */
      public Builder setDataAccuracy(int value) {
        
        dataAccuracy_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 17;</code>
       */
      public Builder clearDataAccuracy() {
        
        dataAccuracy_ = 0;
        onChanged();
        return this;
      }

      private Object tileId_ = "";
      /**
       * <pre>
       ** 瓦片ID --必传
       * </pre>
       *
       * <code>string tileId = 18;</code>
       */
      public String getTileId() {
        Object ref = tileId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          tileId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 瓦片ID --必传
       * </pre>
       *
       * <code>string tileId = 18;</code>
       */
      public com.google.protobuf.ByteString
          getTileIdBytes() {
        Object ref = tileId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          tileId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 瓦片ID --必传
       * </pre>
       *
       * <code>string tileId = 18;</code>
       */
      public Builder setTileId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        tileId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 瓦片ID --必传
       * </pre>
       *
       * <code>string tileId = 18;</code>
       */
      public Builder clearTileId() {
        
        tileId_ = getDefaultInstance().getTileId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 瓦片ID --必传
       * </pre>
       *
       * <code>string tileId = 18;</code>
       */
      public Builder setTileIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        tileId_ = value;
        onChanged();
        return this;
      }

      private int turnLight_ ;
      /**
       * <pre>
       ** 0. 不开转向灯, 1. 左转灯开, 2. 右转灯开 
       * </pre>
       *
       * <code>uint32 turnLight = 19;</code>
       */
      public int getTurnLight() {
        return turnLight_;
      }
      /**
       * <pre>
       ** 0. 不开转向灯, 1. 左转灯开, 2. 右转灯开 
       * </pre>
       *
       * <code>uint32 turnLight = 19;</code>
       */
      public Builder setTurnLight(int value) {
        
        turnLight_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 0. 不开转向灯, 1. 左转灯开, 2. 右转灯开 
       * </pre>
       *
       * <code>uint32 turnLight = 19;</code>
       */
      public Builder clearTurnLight() {
        
        turnLight_ = 0;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.LocationInfoProto)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.LocationInfoProto)
    private static final LocationInfoProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new LocationInfoProto();
    }

    public static LocationInfoProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<LocationInfoProto>
        PARSER = new com.google.protobuf.AbstractParser<LocationInfoProto>() {
      @Override
      public LocationInfoProto parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new LocationInfoProto(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<LocationInfoProto> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<LocationInfoProto> getParserForType() {
      return PARSER;
    }

    @Override
    public LocationInfoProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ADASRecognizedReqOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.ADASRecognizedReq)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     ** 类型： 1-人 2-自行车 3-小轿车 4-摩托车 5-红绿灯 6-bus 8-truck 9-路边摄像头 
     * </pre>
     *
     * <code>uint32 type = 1;</code>
     */
    int getType();

    /**
     * <pre>
     ** 识别车辆uuid --必须传
     * </pre>
     *
     * <code>string uuid = 2;</code>
     */
    String getUuid();
    /**
     * <pre>
     ** 识别车辆uuid --必须传
     * </pre>
     *
     * <code>string uuid = 2;</code>
     */
    com.google.protobuf.ByteString
        getUuidBytes();

    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 3;</code>
     */
    String getColor();
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 3;</code>
     */
    com.google.protobuf.ByteString
        getColorBytes();

    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 4;</code>
     */
    String getCardId();
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 4;</code>
     */
    com.google.protobuf.ByteString
        getCardIdBytes();

    /**
     * <pre>
     ** 纬度 
     * </pre>
     *
     * <code>double lat = 5;</code>
     */
    double getLat();

    /**
     * <pre>
     ** 经度 
     * </pre>
     *
     * <code>double lon = 6;</code>
     */
    double getLon();

    /**
     * <pre>
     ** 方向 
     * </pre>
     *
     * <code>double heading = 7;</code>
     */
    double getHeading();

    /**
     * <pre>
     ** 采集时间 
     * </pre>
     *
     * <code>uint64 systemTime = 8;</code>
     */
    long getSystemTime();

    /**
     * <pre>
     ** 卫星时间 
     * </pre>
     *
     * <code>uint64 satelliteTime = 9;</code>
     */
    long getSatelliteTime();

    /**
     * <pre>
     ** 海拔 
     * </pre>
     *
     * <code>double alt = 10;</code>
     */
    double getAlt();

    /**
     * <pre>
     ** 车速 
     * </pre>
     *
     * <code>double speed = 11;</code>
     */
    double getSpeed();

    /**
     * <pre>
     ** morton码 --工控机可传否？
     * </pre>
     *
     * <code>uint64 mortonCode = 12;</code>
     */
    long getMortonCode();

    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 13;</code>
     */
    String getCityCode();
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 13;</code>
     */
    com.google.protobuf.ByteString
        getCityCodeBytes();

    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 14;</code>
     */
    int getVehicleType();

    /**
     * <pre>
     ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 15;</code>
     */
    int getDataAccuracy();

    /**
     * <pre>
     ** 采集设备到被采车辆距离 
     * </pre>
     *
     * <code>double distance = 16;</code>
     */
    double getDistance();

    /**
     * <pre>
     ** 瓦片ID 
     * </pre>
     *
     * <code>string tileId = 17;</code>
     */
    String getTileId();
    /**
     * <pre>
     ** 瓦片ID 
     * </pre>
     *
     * <code>string tileId = 17;</code>
     */
    com.google.protobuf.ByteString
        getTileIdBytes();

    /**
     * <pre>
     ** 危险级别 1 绿,2 黄,3 红 
     * </pre>
     *
     * <code>uint32 drawlevel = 18;</code>
     */
    int getDrawlevel();

    /**
     * <pre>
     ** 采集设备到被采车辆X距离 
     * </pre>
     *
     * <code>double distanceX = 19;</code>
     */
    double getDistanceX();

    /**
     * <pre>
     ** 采集设备到被采车辆Y距离 
     * </pre>
     *
     * <code>double distanceY = 20;</code>
     */
    double getDistanceY();

    /**
     * <pre>
     ** 道路ID 
     * </pre>
     *
     * <code>string roadId = 21;</code>
     */
    String getRoadId();
    /**
     * <pre>
     ** 道路ID 
     * </pre>
     *
     * <code>string roadId = 21;</code>
     */
    com.google.protobuf.ByteString
        getRoadIdBytes();

    /**
     * <pre>
     ** 车道号：中心线编号为0， 中心线右侧编号为负数，3车道通行Road的车道编号，0,-1,-2,-3
     * </pre>
     *
     * <code>uint32 laneNum = 22;</code>
     */
    int getLaneNum();
  }
  /**
   * <pre>
   *adas实体详情
   * </pre>
   *
   * Protobuf type {@code mogo.yycp.service.ADASRecognizedReq}
   */
  public  static final class ADASRecognizedReq extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.ADASRecognizedReq)
      ADASRecognizedReqOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ADASRecognizedReq.newBuilder() to construct.
    private ADASRecognizedReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ADASRecognizedReq() {
      type_ = 0;
      uuid_ = "";
      color_ = "";
      cardId_ = "";
      lat_ = 0D;
      lon_ = 0D;
      heading_ = 0D;
      systemTime_ = 0L;
      satelliteTime_ = 0L;
      alt_ = 0D;
      speed_ = 0D;
      mortonCode_ = 0L;
      cityCode_ = "";
      vehicleType_ = 0;
      dataAccuracy_ = 0;
      distance_ = 0D;
      tileId_ = "";
      drawlevel_ = 0;
      distanceX_ = 0D;
      distanceY_ = 0D;
      roadId_ = "";
      laneNum_ = 0;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ADASRecognizedReq(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              type_ = input.readUInt32();
              break;
            }
            case 18: {
              String s = input.readStringRequireUtf8();

              uuid_ = s;
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              color_ = s;
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              cardId_ = s;
              break;
            }
            case 41: {

              lat_ = input.readDouble();
              break;
            }
            case 49: {

              lon_ = input.readDouble();
              break;
            }
            case 57: {

              heading_ = input.readDouble();
              break;
            }
            case 64: {

              systemTime_ = input.readUInt64();
              break;
            }
            case 72: {

              satelliteTime_ = input.readUInt64();
              break;
            }
            case 81: {

              alt_ = input.readDouble();
              break;
            }
            case 89: {

              speed_ = input.readDouble();
              break;
            }
            case 96: {

              mortonCode_ = input.readUInt64();
              break;
            }
            case 106: {
              String s = input.readStringRequireUtf8();

              cityCode_ = s;
              break;
            }
            case 112: {

              vehicleType_ = input.readUInt32();
              break;
            }
            case 120: {

              dataAccuracy_ = input.readUInt32();
              break;
            }
            case 129: {

              distance_ = input.readDouble();
              break;
            }
            case 138: {
              String s = input.readStringRequireUtf8();

              tileId_ = s;
              break;
            }
            case 144: {

              drawlevel_ = input.readUInt32();
              break;
            }
            case 153: {

              distanceX_ = input.readDouble();
              break;
            }
            case 161: {

              distanceY_ = input.readDouble();
              break;
            }
            case 170: {
              String s = input.readStringRequireUtf8();

              roadId_ = s;
              break;
            }
            case 176: {

              laneNum_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_ADASRecognizedReq_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ADASRecognizedReq.class, Builder.class);
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * <pre>
     ** 类型： 1-人 2-自行车 3-小轿车 4-摩托车 5-红绿灯 6-bus 8-truck 9-路边摄像头 
     * </pre>
     *
     * <code>uint32 type = 1;</code>
     */
    public int getType() {
      return type_;
    }

    public static final int UUID_FIELD_NUMBER = 2;
    private volatile Object uuid_;
    /**
     * <pre>
     ** 识别车辆uuid --必须传
     * </pre>
     *
     * <code>string uuid = 2;</code>
     */
    public String getUuid() {
      Object ref = uuid_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        uuid_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 识别车辆uuid --必须传
     * </pre>
     *
     * <code>string uuid = 2;</code>
     */
    public com.google.protobuf.ByteString
        getUuidBytes() {
      Object ref = uuid_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        uuid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COLOR_FIELD_NUMBER = 3;
    private volatile Object color_;
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 3;</code>
     */
    public String getColor() {
      Object ref = color_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        color_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 颜色 
     * </pre>
     *
     * <code>string color = 3;</code>
     */
    public com.google.protobuf.ByteString
        getColorBytes() {
      Object ref = color_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        color_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARDID_FIELD_NUMBER = 4;
    private volatile Object cardId_;
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 4;</code>
     */
    public String getCardId() {
      Object ref = cardId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cardId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 车牌号 
     * </pre>
     *
     * <code>string cardId = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCardIdBytes() {
      Object ref = cardId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cardId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LAT_FIELD_NUMBER = 5;
    private double lat_;
    /**
     * <pre>
     ** 纬度 
     * </pre>
     *
     * <code>double lat = 5;</code>
     */
    public double getLat() {
      return lat_;
    }

    public static final int LON_FIELD_NUMBER = 6;
    private double lon_;
    /**
     * <pre>
     ** 经度 
     * </pre>
     *
     * <code>double lon = 6;</code>
     */
    public double getLon() {
      return lon_;
    }

    public static final int HEADING_FIELD_NUMBER = 7;
    private double heading_;
    /**
     * <pre>
     ** 方向 
     * </pre>
     *
     * <code>double heading = 7;</code>
     */
    public double getHeading() {
      return heading_;
    }

    public static final int SYSTEMTIME_FIELD_NUMBER = 8;
    private long systemTime_;
    /**
     * <pre>
     ** 采集时间 
     * </pre>
     *
     * <code>uint64 systemTime = 8;</code>
     */
    public long getSystemTime() {
      return systemTime_;
    }

    public static final int SATELLITETIME_FIELD_NUMBER = 9;
    private long satelliteTime_;
    /**
     * <pre>
     ** 卫星时间 
     * </pre>
     *
     * <code>uint64 satelliteTime = 9;</code>
     */
    public long getSatelliteTime() {
      return satelliteTime_;
    }

    public static final int ALT_FIELD_NUMBER = 10;
    private double alt_;
    /**
     * <pre>
     ** 海拔 
     * </pre>
     *
     * <code>double alt = 10;</code>
     */
    public double getAlt() {
      return alt_;
    }

    public static final int SPEED_FIELD_NUMBER = 11;
    private double speed_;
    /**
     * <pre>
     ** 车速 
     * </pre>
     *
     * <code>double speed = 11;</code>
     */
    public double getSpeed() {
      return speed_;
    }

    public static final int MORTONCODE_FIELD_NUMBER = 12;
    private long mortonCode_;
    /**
     * <pre>
     ** morton码 --工控机可传否？
     * </pre>
     *
     * <code>uint64 mortonCode = 12;</code>
     */
    public long getMortonCode() {
      return mortonCode_;
    }

    public static final int CITYCODE_FIELD_NUMBER = 13;
    private volatile Object cityCode_;
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 13;</code>
     */
    public String getCityCode() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cityCode_ = s;
        return s;
      }
    }
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 13;</code>
     */
    public com.google.protobuf.ByteString
        getCityCodeBytes() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cityCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VEHICLETYPE_FIELD_NUMBER = 14;
    private int vehicleType_;
    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 14;</code>
     */
    public int getVehicleType() {
      return vehicleType_;
    }

    public static final int DATAACCURACY_FIELD_NUMBER = 15;
    private int dataAccuracy_;
    /**
     * <pre>
     ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
     * </pre>
     *
     * <code>uint32 dataAccuracy = 15;</code>
     */
    public int getDataAccuracy() {
      return dataAccuracy_;
    }

    public static final int DISTANCE_FIELD_NUMBER = 16;
    private double distance_;
    /**
     * <pre>
     ** 采集设备到被采车辆距离 
     * </pre>
     *
     * <code>double distance = 16;</code>
     */
    public double getDistance() {
      return distance_;
    }

    public static final int TILEID_FIELD_NUMBER = 17;
    private volatile Object tileId_;
    /**
     * <pre>
     ** 瓦片ID 
     * </pre>
     *
     * <code>string tileId = 17;</code>
     */
    public String getTileId() {
      Object ref = tileId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        tileId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 瓦片ID 
     * </pre>
     *
     * <code>string tileId = 17;</code>
     */
    public com.google.protobuf.ByteString
        getTileIdBytes() {
      Object ref = tileId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        tileId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DRAWLEVEL_FIELD_NUMBER = 18;
    private int drawlevel_;
    /**
     * <pre>
     ** 危险级别 1 绿,2 黄,3 红 
     * </pre>
     *
     * <code>uint32 drawlevel = 18;</code>
     */
    public int getDrawlevel() {
      return drawlevel_;
    }

    public static final int DISTANCEX_FIELD_NUMBER = 19;
    private double distanceX_;
    /**
     * <pre>
     ** 采集设备到被采车辆X距离 
     * </pre>
     *
     * <code>double distanceX = 19;</code>
     */
    public double getDistanceX() {
      return distanceX_;
    }

    public static final int DISTANCEY_FIELD_NUMBER = 20;
    private double distanceY_;
    /**
     * <pre>
     ** 采集设备到被采车辆Y距离 
     * </pre>
     *
     * <code>double distanceY = 20;</code>
     */
    public double getDistanceY() {
      return distanceY_;
    }

    public static final int ROADID_FIELD_NUMBER = 21;
    private volatile Object roadId_;
    /**
     * <pre>
     ** 道路ID 
     * </pre>
     *
     * <code>string roadId = 21;</code>
     */
    public String getRoadId() {
      Object ref = roadId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        roadId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     ** 道路ID 
     * </pre>
     *
     * <code>string roadId = 21;</code>
     */
    public com.google.protobuf.ByteString
        getRoadIdBytes() {
      Object ref = roadId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        roadId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LANENUM_FIELD_NUMBER = 22;
    private int laneNum_;
    /**
     * <pre>
     ** 车道号：中心线编号为0， 中心线右侧编号为负数，3车道通行Road的车道编号，0,-1,-2,-3
     * </pre>
     *
     * <code>uint32 laneNum = 22;</code>
     */
    public int getLaneNum() {
      return laneNum_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (type_ != 0) {
        output.writeUInt32(1, type_);
      }
      if (!getUuidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, uuid_);
      }
      if (!getColorBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, color_);
      }
      if (!getCardIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, cardId_);
      }
      if (lat_ != 0D) {
        output.writeDouble(5, lat_);
      }
      if (lon_ != 0D) {
        output.writeDouble(6, lon_);
      }
      if (heading_ != 0D) {
        output.writeDouble(7, heading_);
      }
      if (systemTime_ != 0L) {
        output.writeUInt64(8, systemTime_);
      }
      if (satelliteTime_ != 0L) {
        output.writeUInt64(9, satelliteTime_);
      }
      if (alt_ != 0D) {
        output.writeDouble(10, alt_);
      }
      if (speed_ != 0D) {
        output.writeDouble(11, speed_);
      }
      if (mortonCode_ != 0L) {
        output.writeUInt64(12, mortonCode_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, cityCode_);
      }
      if (vehicleType_ != 0) {
        output.writeUInt32(14, vehicleType_);
      }
      if (dataAccuracy_ != 0) {
        output.writeUInt32(15, dataAccuracy_);
      }
      if (distance_ != 0D) {
        output.writeDouble(16, distance_);
      }
      if (!getTileIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 17, tileId_);
      }
      if (drawlevel_ != 0) {
        output.writeUInt32(18, drawlevel_);
      }
      if (distanceX_ != 0D) {
        output.writeDouble(19, distanceX_);
      }
      if (distanceY_ != 0D) {
        output.writeDouble(20, distanceY_);
      }
      if (!getRoadIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 21, roadId_);
      }
      if (laneNum_ != 0) {
        output.writeUInt32(22, laneNum_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (type_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, type_);
      }
      if (!getUuidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, uuid_);
      }
      if (!getColorBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, color_);
      }
      if (!getCardIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, cardId_);
      }
      if (lat_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(5, lat_);
      }
      if (lon_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(6, lon_);
      }
      if (heading_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(7, heading_);
      }
      if (systemTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(8, systemTime_);
      }
      if (satelliteTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(9, satelliteTime_);
      }
      if (alt_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(10, alt_);
      }
      if (speed_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(11, speed_);
      }
      if (mortonCode_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(12, mortonCode_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, cityCode_);
      }
      if (vehicleType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(14, vehicleType_);
      }
      if (dataAccuracy_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(15, dataAccuracy_);
      }
      if (distance_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(16, distance_);
      }
      if (!getTileIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, tileId_);
      }
      if (drawlevel_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(18, drawlevel_);
      }
      if (distanceX_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(19, distanceX_);
      }
      if (distanceY_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(20, distanceY_);
      }
      if (!getRoadIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(21, roadId_);
      }
      if (laneNum_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(22, laneNum_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof ADASRecognizedReq)) {
        return super.equals(obj);
      }
      ADASRecognizedReq other = (ADASRecognizedReq) obj;

      boolean result = true;
      result = result && (getType()
          == other.getType());
      result = result && getUuid()
          .equals(other.getUuid());
      result = result && getColor()
          .equals(other.getColor());
      result = result && getCardId()
          .equals(other.getCardId());
      result = result && (
          Double.doubleToLongBits(getLat())
          == Double.doubleToLongBits(
              other.getLat()));
      result = result && (
          Double.doubleToLongBits(getLon())
          == Double.doubleToLongBits(
              other.getLon()));
      result = result && (
          Double.doubleToLongBits(getHeading())
          == Double.doubleToLongBits(
              other.getHeading()));
      result = result && (getSystemTime()
          == other.getSystemTime());
      result = result && (getSatelliteTime()
          == other.getSatelliteTime());
      result = result && (
          Double.doubleToLongBits(getAlt())
          == Double.doubleToLongBits(
              other.getAlt()));
      result = result && (
          Double.doubleToLongBits(getSpeed())
          == Double.doubleToLongBits(
              other.getSpeed()));
      result = result && (getMortonCode()
          == other.getMortonCode());
      result = result && getCityCode()
          .equals(other.getCityCode());
      result = result && (getVehicleType()
          == other.getVehicleType());
      result = result && (getDataAccuracy()
          == other.getDataAccuracy());
      result = result && (
          Double.doubleToLongBits(getDistance())
          == Double.doubleToLongBits(
              other.getDistance()));
      result = result && getTileId()
          .equals(other.getTileId());
      result = result && (getDrawlevel()
          == other.getDrawlevel());
      result = result && (
          Double.doubleToLongBits(getDistanceX())
          == Double.doubleToLongBits(
              other.getDistanceX()));
      result = result && (
          Double.doubleToLongBits(getDistanceY())
          == Double.doubleToLongBits(
              other.getDistanceY()));
      result = result && getRoadId()
          .equals(other.getRoadId());
      result = result && (getLaneNum()
          == other.getLaneNum());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType();
      hash = (37 * hash) + UUID_FIELD_NUMBER;
      hash = (53 * hash) + getUuid().hashCode();
      hash = (37 * hash) + COLOR_FIELD_NUMBER;
      hash = (53 * hash) + getColor().hashCode();
      hash = (37 * hash) + CARDID_FIELD_NUMBER;
      hash = (53 * hash) + getCardId().hashCode();
      hash = (37 * hash) + LAT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLat()));
      hash = (37 * hash) + LON_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLon()));
      hash = (37 * hash) + HEADING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getHeading()));
      hash = (37 * hash) + SYSTEMTIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSystemTime());
      hash = (37 * hash) + SATELLITETIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSatelliteTime());
      hash = (37 * hash) + ALT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getAlt()));
      hash = (37 * hash) + SPEED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getSpeed()));
      hash = (37 * hash) + MORTONCODE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMortonCode());
      hash = (37 * hash) + CITYCODE_FIELD_NUMBER;
      hash = (53 * hash) + getCityCode().hashCode();
      hash = (37 * hash) + VEHICLETYPE_FIELD_NUMBER;
      hash = (53 * hash) + getVehicleType();
      hash = (37 * hash) + DATAACCURACY_FIELD_NUMBER;
      hash = (53 * hash) + getDataAccuracy();
      hash = (37 * hash) + DISTANCE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDistance()));
      hash = (37 * hash) + TILEID_FIELD_NUMBER;
      hash = (53 * hash) + getTileId().hashCode();
      hash = (37 * hash) + DRAWLEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getDrawlevel();
      hash = (37 * hash) + DISTANCEX_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDistanceX()));
      hash = (37 * hash) + DISTANCEY_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDistanceY()));
      hash = (37 * hash) + ROADID_FIELD_NUMBER;
      hash = (53 * hash) + getRoadId().hashCode();
      hash = (37 * hash) + LANENUM_FIELD_NUMBER;
      hash = (53 * hash) + getLaneNum();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ADASRecognizedReq parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ADASRecognizedReq parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ADASRecognizedReq parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ADASRecognizedReq parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ADASRecognizedReq parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ADASRecognizedReq parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ADASRecognizedReq parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ADASRecognizedReq parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static ADASRecognizedReq parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static ADASRecognizedReq parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ADASRecognizedReq parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ADASRecognizedReq parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ADASRecognizedReq prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *adas实体详情
     * </pre>
     *
     * Protobuf type {@code mogo.yycp.service.ADASRecognizedReq}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.ADASRecognizedReq)
        ADASRecognizedReqOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_ADASRecognizedReq_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ADASRecognizedReq.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.ADASRecognizedReq.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        type_ = 0;

        uuid_ = "";

        color_ = "";

        cardId_ = "";

        lat_ = 0D;

        lon_ = 0D;

        heading_ = 0D;

        systemTime_ = 0L;

        satelliteTime_ = 0L;

        alt_ = 0D;

        speed_ = 0D;

        mortonCode_ = 0L;

        cityCode_ = "";

        vehicleType_ = 0;

        dataAccuracy_ = 0;

        distance_ = 0D;

        tileId_ = "";

        drawlevel_ = 0;

        distanceX_ = 0D;

        distanceY_ = 0D;

        roadId_ = "";

        laneNum_ = 0;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor;
      }

      @Override
      public ADASRecognizedReq getDefaultInstanceForType() {
        return ADASRecognizedReq.getDefaultInstance();
      }

      @Override
      public ADASRecognizedReq build() {
        ADASRecognizedReq result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public ADASRecognizedReq buildPartial() {
        ADASRecognizedReq result = new ADASRecognizedReq(this);
        result.type_ = type_;
        result.uuid_ = uuid_;
        result.color_ = color_;
        result.cardId_ = cardId_;
        result.lat_ = lat_;
        result.lon_ = lon_;
        result.heading_ = heading_;
        result.systemTime_ = systemTime_;
        result.satelliteTime_ = satelliteTime_;
        result.alt_ = alt_;
        result.speed_ = speed_;
        result.mortonCode_ = mortonCode_;
        result.cityCode_ = cityCode_;
        result.vehicleType_ = vehicleType_;
        result.dataAccuracy_ = dataAccuracy_;
        result.distance_ = distance_;
        result.tileId_ = tileId_;
        result.drawlevel_ = drawlevel_;
        result.distanceX_ = distanceX_;
        result.distanceY_ = distanceY_;
        result.roadId_ = roadId_;
        result.laneNum_ = laneNum_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ADASRecognizedReq) {
          return mergeFrom((ADASRecognizedReq)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ADASRecognizedReq other) {
        if (other == ADASRecognizedReq.getDefaultInstance()) return this;
        if (other.getType() != 0) {
          setType(other.getType());
        }
        if (!other.getUuid().isEmpty()) {
          uuid_ = other.uuid_;
          onChanged();
        }
        if (!other.getColor().isEmpty()) {
          color_ = other.color_;
          onChanged();
        }
        if (!other.getCardId().isEmpty()) {
          cardId_ = other.cardId_;
          onChanged();
        }
        if (other.getLat() != 0D) {
          setLat(other.getLat());
        }
        if (other.getLon() != 0D) {
          setLon(other.getLon());
        }
        if (other.getHeading() != 0D) {
          setHeading(other.getHeading());
        }
        if (other.getSystemTime() != 0L) {
          setSystemTime(other.getSystemTime());
        }
        if (other.getSatelliteTime() != 0L) {
          setSatelliteTime(other.getSatelliteTime());
        }
        if (other.getAlt() != 0D) {
          setAlt(other.getAlt());
        }
        if (other.getSpeed() != 0D) {
          setSpeed(other.getSpeed());
        }
        if (other.getMortonCode() != 0L) {
          setMortonCode(other.getMortonCode());
        }
        if (!other.getCityCode().isEmpty()) {
          cityCode_ = other.cityCode_;
          onChanged();
        }
        if (other.getVehicleType() != 0) {
          setVehicleType(other.getVehicleType());
        }
        if (other.getDataAccuracy() != 0) {
          setDataAccuracy(other.getDataAccuracy());
        }
        if (other.getDistance() != 0D) {
          setDistance(other.getDistance());
        }
        if (!other.getTileId().isEmpty()) {
          tileId_ = other.tileId_;
          onChanged();
        }
        if (other.getDrawlevel() != 0) {
          setDrawlevel(other.getDrawlevel());
        }
        if (other.getDistanceX() != 0D) {
          setDistanceX(other.getDistanceX());
        }
        if (other.getDistanceY() != 0D) {
          setDistanceY(other.getDistanceY());
        }
        if (!other.getRoadId().isEmpty()) {
          roadId_ = other.roadId_;
          onChanged();
        }
        if (other.getLaneNum() != 0) {
          setLaneNum(other.getLaneNum());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        ADASRecognizedReq parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (ADASRecognizedReq) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int type_ ;
      /**
       * <pre>
       ** 类型： 1-人 2-自行车 3-小轿车 4-摩托车 5-红绿灯 6-bus 8-truck 9-路边摄像头 
       * </pre>
       *
       * <code>uint32 type = 1;</code>
       */
      public int getType() {
        return type_;
      }
      /**
       * <pre>
       ** 类型： 1-人 2-自行车 3-小轿车 4-摩托车 5-红绿灯 6-bus 8-truck 9-路边摄像头 
       * </pre>
       *
       * <code>uint32 type = 1;</code>
       */
      public Builder setType(int value) {
        
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 类型： 1-人 2-自行车 3-小轿车 4-摩托车 5-红绿灯 6-bus 8-truck 9-路边摄像头 
       * </pre>
       *
       * <code>uint32 type = 1;</code>
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private Object uuid_ = "";
      /**
       * <pre>
       ** 识别车辆uuid --必须传
       * </pre>
       *
       * <code>string uuid = 2;</code>
       */
      public String getUuid() {
        Object ref = uuid_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          uuid_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 识别车辆uuid --必须传
       * </pre>
       *
       * <code>string uuid = 2;</code>
       */
      public com.google.protobuf.ByteString
          getUuidBytes() {
        Object ref = uuid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          uuid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 识别车辆uuid --必须传
       * </pre>
       *
       * <code>string uuid = 2;</code>
       */
      public Builder setUuid(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        uuid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 识别车辆uuid --必须传
       * </pre>
       *
       * <code>string uuid = 2;</code>
       */
      public Builder clearUuid() {
        
        uuid_ = getDefaultInstance().getUuid();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 识别车辆uuid --必须传
       * </pre>
       *
       * <code>string uuid = 2;</code>
       */
      public Builder setUuidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        uuid_ = value;
        onChanged();
        return this;
      }

      private Object color_ = "";
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 3;</code>
       */
      public String getColor() {
        Object ref = color_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          color_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 3;</code>
       */
      public com.google.protobuf.ByteString
          getColorBytes() {
        Object ref = color_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          color_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 3;</code>
       */
      public Builder setColor(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 3;</code>
       */
      public Builder clearColor() {
        
        color_ = getDefaultInstance().getColor();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 颜色 
       * </pre>
       *
       * <code>string color = 3;</code>
       */
      public Builder setColorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        color_ = value;
        onChanged();
        return this;
      }

      private Object cardId_ = "";
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 4;</code>
       */
      public String getCardId() {
        Object ref = cardId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cardId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCardIdBytes() {
        Object ref = cardId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cardId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 4;</code>
       */
      public Builder setCardId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cardId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 4;</code>
       */
      public Builder clearCardId() {
        
        cardId_ = getDefaultInstance().getCardId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车牌号 
       * </pre>
       *
       * <code>string cardId = 4;</code>
       */
      public Builder setCardIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cardId_ = value;
        onChanged();
        return this;
      }

      private double lat_ ;
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 5;</code>
       */
      public double getLat() {
        return lat_;
      }
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 5;</code>
       */
      public Builder setLat(double value) {
        
        lat_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 纬度 
       * </pre>
       *
       * <code>double lat = 5;</code>
       */
      public Builder clearLat() {
        
        lat_ = 0D;
        onChanged();
        return this;
      }

      private double lon_ ;
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 6;</code>
       */
      public double getLon() {
        return lon_;
      }
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 6;</code>
       */
      public Builder setLon(double value) {
        
        lon_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 经度 
       * </pre>
       *
       * <code>double lon = 6;</code>
       */
      public Builder clearLon() {
        
        lon_ = 0D;
        onChanged();
        return this;
      }

      private double heading_ ;
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 7;</code>
       */
      public double getHeading() {
        return heading_;
      }
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 7;</code>
       */
      public Builder setHeading(double value) {
        
        heading_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 方向 
       * </pre>
       *
       * <code>double heading = 7;</code>
       */
      public Builder clearHeading() {
        
        heading_ = 0D;
        onChanged();
        return this;
      }

      private long systemTime_ ;
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 8;</code>
       */
      public long getSystemTime() {
        return systemTime_;
      }
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 8;</code>
       */
      public Builder setSystemTime(long value) {
        
        systemTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 采集时间 
       * </pre>
       *
       * <code>uint64 systemTime = 8;</code>
       */
      public Builder clearSystemTime() {
        
        systemTime_ = 0L;
        onChanged();
        return this;
      }

      private long satelliteTime_ ;
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 9;</code>
       */
      public long getSatelliteTime() {
        return satelliteTime_;
      }
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 9;</code>
       */
      public Builder setSatelliteTime(long value) {
        
        satelliteTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 卫星时间 
       * </pre>
       *
       * <code>uint64 satelliteTime = 9;</code>
       */
      public Builder clearSatelliteTime() {
        
        satelliteTime_ = 0L;
        onChanged();
        return this;
      }

      private double alt_ ;
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 10;</code>
       */
      public double getAlt() {
        return alt_;
      }
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 10;</code>
       */
      public Builder setAlt(double value) {
        
        alt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 海拔 
       * </pre>
       *
       * <code>double alt = 10;</code>
       */
      public Builder clearAlt() {
        
        alt_ = 0D;
        onChanged();
        return this;
      }

      private double speed_ ;
      /**
       * <pre>
       ** 车速 
       * </pre>
       *
       * <code>double speed = 11;</code>
       */
      public double getSpeed() {
        return speed_;
      }
      /**
       * <pre>
       ** 车速 
       * </pre>
       *
       * <code>double speed = 11;</code>
       */
      public Builder setSpeed(double value) {
        
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车速 
       * </pre>
       *
       * <code>double speed = 11;</code>
       */
      public Builder clearSpeed() {
        
        speed_ = 0D;
        onChanged();
        return this;
      }

      private long mortonCode_ ;
      /**
       * <pre>
       ** morton码 --工控机可传否？
       * </pre>
       *
       * <code>uint64 mortonCode = 12;</code>
       */
      public long getMortonCode() {
        return mortonCode_;
      }
      /**
       * <pre>
       ** morton码 --工控机可传否？
       * </pre>
       *
       * <code>uint64 mortonCode = 12;</code>
       */
      public Builder setMortonCode(long value) {
        
        mortonCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** morton码 --工控机可传否？
       * </pre>
       *
       * <code>uint64 mortonCode = 12;</code>
       */
      public Builder clearMortonCode() {
        
        mortonCode_ = 0L;
        onChanged();
        return this;
      }

      private Object cityCode_ = "";
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 13;</code>
       */
      public String getCityCode() {
        Object ref = cityCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cityCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 13;</code>
       */
      public com.google.protobuf.ByteString
          getCityCodeBytes() {
        Object ref = cityCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cityCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 13;</code>
       */
      public Builder setCityCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cityCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 13;</code>
       */
      public Builder clearCityCode() {
        
        cityCode_ = getDefaultInstance().getCityCode();
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 13;</code>
       */
      public Builder setCityCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cityCode_ = value;
        onChanged();
        return this;
      }

      private int vehicleType_ ;
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 14;</code>
       */
      public int getVehicleType() {
        return vehicleType_;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 14;</code>
       */
      public Builder setVehicleType(int value) {
        
        vehicleType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 14;</code>
       */
      public Builder clearVehicleType() {
        
        vehicleType_ = 0;
        onChanged();
        return this;
      }

      private int dataAccuracy_ ;
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 15;</code>
       */
      public int getDataAccuracy() {
        return dataAccuracy_;
      }
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 15;</code>
       */
      public Builder setDataAccuracy(int value) {
        
        dataAccuracy_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 数据来源精度(来自上层) 0 - 普通定位、1 - 高精定位 
       * </pre>
       *
       * <code>uint32 dataAccuracy = 15;</code>
       */
      public Builder clearDataAccuracy() {
        
        dataAccuracy_ = 0;
        onChanged();
        return this;
      }

      private double distance_ ;
      /**
       * <pre>
       ** 采集设备到被采车辆距离 
       * </pre>
       *
       * <code>double distance = 16;</code>
       */
      public double getDistance() {
        return distance_;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆距离 
       * </pre>
       *
       * <code>double distance = 16;</code>
       */
      public Builder setDistance(double value) {
        
        distance_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆距离 
       * </pre>
       *
       * <code>double distance = 16;</code>
       */
      public Builder clearDistance() {
        
        distance_ = 0D;
        onChanged();
        return this;
      }

      private Object tileId_ = "";
      /**
       * <pre>
       ** 瓦片ID 
       * </pre>
       *
       * <code>string tileId = 17;</code>
       */
      public String getTileId() {
        Object ref = tileId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          tileId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 瓦片ID 
       * </pre>
       *
       * <code>string tileId = 17;</code>
       */
      public com.google.protobuf.ByteString
          getTileIdBytes() {
        Object ref = tileId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          tileId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 瓦片ID 
       * </pre>
       *
       * <code>string tileId = 17;</code>
       */
      public Builder setTileId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        tileId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 瓦片ID 
       * </pre>
       *
       * <code>string tileId = 17;</code>
       */
      public Builder clearTileId() {
        
        tileId_ = getDefaultInstance().getTileId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 瓦片ID 
       * </pre>
       *
       * <code>string tileId = 17;</code>
       */
      public Builder setTileIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        tileId_ = value;
        onChanged();
        return this;
      }

      private int drawlevel_ ;
      /**
       * <pre>
       ** 危险级别 1 绿,2 黄,3 红 
       * </pre>
       *
       * <code>uint32 drawlevel = 18;</code>
       */
      public int getDrawlevel() {
        return drawlevel_;
      }
      /**
       * <pre>
       ** 危险级别 1 绿,2 黄,3 红 
       * </pre>
       *
       * <code>uint32 drawlevel = 18;</code>
       */
      public Builder setDrawlevel(int value) {
        
        drawlevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 危险级别 1 绿,2 黄,3 红 
       * </pre>
       *
       * <code>uint32 drawlevel = 18;</code>
       */
      public Builder clearDrawlevel() {
        
        drawlevel_ = 0;
        onChanged();
        return this;
      }

      private double distanceX_ ;
      /**
       * <pre>
       ** 采集设备到被采车辆X距离 
       * </pre>
       *
       * <code>double distanceX = 19;</code>
       */
      public double getDistanceX() {
        return distanceX_;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆X距离 
       * </pre>
       *
       * <code>double distanceX = 19;</code>
       */
      public Builder setDistanceX(double value) {
        
        distanceX_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆X距离 
       * </pre>
       *
       * <code>double distanceX = 19;</code>
       */
      public Builder clearDistanceX() {
        
        distanceX_ = 0D;
        onChanged();
        return this;
      }

      private double distanceY_ ;
      /**
       * <pre>
       ** 采集设备到被采车辆Y距离 
       * </pre>
       *
       * <code>double distanceY = 20;</code>
       */
      public double getDistanceY() {
        return distanceY_;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆Y距离 
       * </pre>
       *
       * <code>double distanceY = 20;</code>
       */
      public Builder setDistanceY(double value) {
        
        distanceY_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 采集设备到被采车辆Y距离 
       * </pre>
       *
       * <code>double distanceY = 20;</code>
       */
      public Builder clearDistanceY() {
        
        distanceY_ = 0D;
        onChanged();
        return this;
      }

      private Object roadId_ = "";
      /**
       * <pre>
       ** 道路ID 
       * </pre>
       *
       * <code>string roadId = 21;</code>
       */
      public String getRoadId() {
        Object ref = roadId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          roadId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       ** 道路ID 
       * </pre>
       *
       * <code>string roadId = 21;</code>
       */
      public com.google.protobuf.ByteString
          getRoadIdBytes() {
        Object ref = roadId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          roadId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       ** 道路ID 
       * </pre>
       *
       * <code>string roadId = 21;</code>
       */
      public Builder setRoadId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        roadId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 道路ID 
       * </pre>
       *
       * <code>string roadId = 21;</code>
       */
      public Builder clearRoadId() {
        
        roadId_ = getDefaultInstance().getRoadId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 道路ID 
       * </pre>
       *
       * <code>string roadId = 21;</code>
       */
      public Builder setRoadIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        roadId_ = value;
        onChanged();
        return this;
      }

      private int laneNum_ ;
      /**
       * <pre>
       ** 车道号：中心线编号为0， 中心线右侧编号为负数，3车道通行Road的车道编号，0,-1,-2,-3
       * </pre>
       *
       * <code>uint32 laneNum = 22;</code>
       */
      public int getLaneNum() {
        return laneNum_;
      }
      /**
       * <pre>
       ** 车道号：中心线编号为0， 中心线右侧编号为负数，3车道通行Road的车道编号，0,-1,-2,-3
       * </pre>
       *
       * <code>uint32 laneNum = 22;</code>
       */
      public Builder setLaneNum(int value) {
        
        laneNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       ** 车道号：中心线编号为0， 中心线右侧编号为负数，3车道通行Road的车道编号，0,-1,-2,-3
       * </pre>
       *
       * <code>uint32 laneNum = 22;</code>
       */
      public Builder clearLaneNum() {
        
        laneNum_ = 0;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.ADASRecognizedReq)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.ADASRecognizedReq)
    private static final ADASRecognizedReq DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ADASRecognizedReq();
    }

    public static ADASRecognizedReq getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ADASRecognizedReq>
        PARSER = new com.google.protobuf.AbstractParser<ADASRecognizedReq>() {
      @Override
      public ADASRecognizedReq parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ADASRecognizedReq(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<ADASRecognizedReq> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<ADASRecognizedReq> getParserForType() {
      return PARSER;
    }

    @Override
    public ADASRecognizedReq getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SocketRequestVoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:mogo.yycp.service.SocketRequestVo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     **sn
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    String getSn();
    /**
     * <pre>
     **sn
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    com.google.protobuf.ByteString
        getSnBytes();

    /**
     * <code>double lat = 2;</code>
     */
    double getLat();

    /**
     * <code>double lon = 3;</code>
     */
    double getLon();

    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 4;</code>
     */
    String getCityCode();
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 4;</code>
     */
    com.google.protobuf.ByteString
        getCityCodeBytes();

    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 5;</code>
     */
    int getVehicleType();

    /**
     * <pre>
     **追踪车辆 sn
     * </pre>
     *
     * <code>string trackingVehicleSn = 6;</code>
     */
    String getTrackingVehicleSn();
    /**
     * <pre>
     **追踪车辆 sn
     * </pre>
     *
     * <code>string trackingVehicleSn = 6;</code>
     */
    com.google.protobuf.ByteString
        getTrackingVehicleSnBytes();

    /**
     * <pre>
     **0 查询所有车辆模式 1查询运营车辆模式 2查询指定车辆模式
     * </pre>
     *
     * <code>uint32 queryType = 7;</code>
     */
    int getQueryType();
  }
  /**
   * Protobuf type {@code mogo.yycp.service.SocketRequestVo}
   */
  public  static final class SocketRequestVo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:mogo.yycp.service.SocketRequestVo)
      SocketRequestVoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SocketRequestVo.newBuilder() to construct.
    private SocketRequestVo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SocketRequestVo() {
      sn_ = "";
      lat_ = 0D;
      lon_ = 0D;
      cityCode_ = "";
      vehicleType_ = 0;
      trackingVehicleSn_ = "";
      queryType_ = 0;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SocketRequestVo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              String s = input.readStringRequireUtf8();

              sn_ = s;
              break;
            }
            case 17: {

              lat_ = input.readDouble();
              break;
            }
            case 25: {

              lon_ = input.readDouble();
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              cityCode_ = s;
              break;
            }
            case 40: {

              vehicleType_ = input.readUInt32();
              break;
            }
            case 50: {
              String s = input.readStringRequireUtf8();

              trackingVehicleSn_ = s;
              break;
            }
            case 56: {

              queryType_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketRequestVo_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketRequestVo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              SocketRequestVo.class, Builder.class);
    }

    public static final int SN_FIELD_NUMBER = 1;
    private volatile Object sn_;
    /**
     * <pre>
     **sn
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public String getSn() {
      Object ref = sn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        sn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     **sn
     * </pre>
     *
     * <code>string sn = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSnBytes() {
      Object ref = sn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        sn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LAT_FIELD_NUMBER = 2;
    private double lat_;
    /**
     * <code>double lat = 2;</code>
     */
    public double getLat() {
      return lat_;
    }

    public static final int LON_FIELD_NUMBER = 3;
    private double lon_;
    /**
     * <code>double lon = 3;</code>
     */
    public double getLon() {
      return lon_;
    }

    public static final int CITYCODE_FIELD_NUMBER = 4;
    private volatile Object cityCode_;
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 4;</code>
     */
    public String getCityCode() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        cityCode_ = s;
        return s;
      }
    }
    /**
     * <pre>
     **城市编码
     * </pre>
     *
     * <code>string cityCode = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCityCodeBytes() {
      Object ref = cityCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        cityCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VEHICLETYPE_FIELD_NUMBER = 5;
    private int vehicleType_;
    /**
     * <pre>
     **运营车辆类型 9出租车车 10小巴
     * </pre>
     *
     * <code>uint32 vehicleType = 5;</code>
     */
    public int getVehicleType() {
      return vehicleType_;
    }

    public static final int TRACKINGVEHICLESN_FIELD_NUMBER = 6;
    private volatile Object trackingVehicleSn_;
    /**
     * <pre>
     **追踪车辆 sn
     * </pre>
     *
     * <code>string trackingVehicleSn = 6;</code>
     */
    public String getTrackingVehicleSn() {
      Object ref = trackingVehicleSn_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        trackingVehicleSn_ = s;
        return s;
      }
    }
    /**
     * <pre>
     **追踪车辆 sn
     * </pre>
     *
     * <code>string trackingVehicleSn = 6;</code>
     */
    public com.google.protobuf.ByteString
        getTrackingVehicleSnBytes() {
      Object ref = trackingVehicleSn_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        trackingVehicleSn_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int QUERYTYPE_FIELD_NUMBER = 7;
    private int queryType_;
    /**
     * <pre>
     **0 查询所有车辆模式 1查询运营车辆模式 2查询指定车辆模式
     * </pre>
     *
     * <code>uint32 queryType = 7;</code>
     */
    public int getQueryType() {
      return queryType_;
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sn_);
      }
      if (lat_ != 0D) {
        output.writeDouble(2, lat_);
      }
      if (lon_ != 0D) {
        output.writeDouble(3, lon_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, cityCode_);
      }
      if (vehicleType_ != 0) {
        output.writeUInt32(5, vehicleType_);
      }
      if (!getTrackingVehicleSnBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, trackingVehicleSn_);
      }
      if (queryType_ != 0) {
        output.writeUInt32(7, queryType_);
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, sn_);
      }
      if (lat_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(2, lat_);
      }
      if (lon_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(3, lon_);
      }
      if (!getCityCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, cityCode_);
      }
      if (vehicleType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, vehicleType_);
      }
      if (!getTrackingVehicleSnBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, trackingVehicleSn_);
      }
      if (queryType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, queryType_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof SocketRequestVo)) {
        return super.equals(obj);
      }
      SocketRequestVo other = (SocketRequestVo) obj;

      boolean result = true;
      result = result && getSn()
          .equals(other.getSn());
      result = result && (
          Double.doubleToLongBits(getLat())
          == Double.doubleToLongBits(
              other.getLat()));
      result = result && (
          Double.doubleToLongBits(getLon())
          == Double.doubleToLongBits(
              other.getLon()));
      result = result && getCityCode()
          .equals(other.getCityCode());
      result = result && (getVehicleType()
          == other.getVehicleType());
      result = result && getTrackingVehicleSn()
          .equals(other.getTrackingVehicleSn());
      result = result && (getQueryType()
          == other.getQueryType());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SN_FIELD_NUMBER;
      hash = (53 * hash) + getSn().hashCode();
      hash = (37 * hash) + LAT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLat()));
      hash = (37 * hash) + LON_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getLon()));
      hash = (37 * hash) + CITYCODE_FIELD_NUMBER;
      hash = (53 * hash) + getCityCode().hashCode();
      hash = (37 * hash) + VEHICLETYPE_FIELD_NUMBER;
      hash = (53 * hash) + getVehicleType();
      hash = (37 * hash) + TRACKINGVEHICLESN_FIELD_NUMBER;
      hash = (53 * hash) + getTrackingVehicleSn().hashCode();
      hash = (37 * hash) + QUERYTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getQueryType();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static SocketRequestVo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketRequestVo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketRequestVo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketRequestVo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketRequestVo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SocketRequestVo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SocketRequestVo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SocketRequestVo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static SocketRequestVo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static SocketRequestVo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static SocketRequestVo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SocketRequestVo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(SocketRequestVo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code mogo.yycp.service.SocketRequestVo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:mogo.yycp.service.SocketRequestVo)
        SocketRequestVoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketRequestVo_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketRequestVo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                SocketRequestVo.class, Builder.class);
      }

      // Construct using com.mogo.realtime.entity.SocketReceiveDataProto3.SocketRequestVo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        sn_ = "";

        lat_ = 0D;

        lon_ = 0D;

        cityCode_ = "";

        vehicleType_ = 0;

        trackingVehicleSn_ = "";

        queryType_ = 0;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return SocketReceiveDataProto3.internal_static_mogo_yycp_service_SocketRequestVo_descriptor;
      }

      @Override
      public SocketRequestVo getDefaultInstanceForType() {
        return SocketRequestVo.getDefaultInstance();
      }

      @Override
      public SocketRequestVo build() {
        SocketRequestVo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public SocketRequestVo buildPartial() {
        SocketRequestVo result = new SocketRequestVo(this);
        result.sn_ = sn_;
        result.lat_ = lat_;
        result.lon_ = lon_;
        result.cityCode_ = cityCode_;
        result.vehicleType_ = vehicleType_;
        result.trackingVehicleSn_ = trackingVehicleSn_;
        result.queryType_ = queryType_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof SocketRequestVo) {
          return mergeFrom((SocketRequestVo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(SocketRequestVo other) {
        if (other == SocketRequestVo.getDefaultInstance()) return this;
        if (!other.getSn().isEmpty()) {
          sn_ = other.sn_;
          onChanged();
        }
        if (other.getLat() != 0D) {
          setLat(other.getLat());
        }
        if (other.getLon() != 0D) {
          setLon(other.getLon());
        }
        if (!other.getCityCode().isEmpty()) {
          cityCode_ = other.cityCode_;
          onChanged();
        }
        if (other.getVehicleType() != 0) {
          setVehicleType(other.getVehicleType());
        }
        if (!other.getTrackingVehicleSn().isEmpty()) {
          trackingVehicleSn_ = other.trackingVehicleSn_;
          onChanged();
        }
        if (other.getQueryType() != 0) {
          setQueryType(other.getQueryType());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        SocketRequestVo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (SocketRequestVo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private Object sn_ = "";
      /**
       * <pre>
       **sn
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public String getSn() {
        Object ref = sn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          sn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       **sn
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSnBytes() {
        Object ref = sn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          sn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       **sn
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **sn
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder clearSn() {
        
        sn_ = getDefaultInstance().getSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       **sn
       * </pre>
       *
       * <code>string sn = 1;</code>
       */
      public Builder setSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sn_ = value;
        onChanged();
        return this;
      }

      private double lat_ ;
      /**
       * <code>double lat = 2;</code>
       */
      public double getLat() {
        return lat_;
      }
      /**
       * <code>double lat = 2;</code>
       */
      public Builder setLat(double value) {
        
        lat_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>double lat = 2;</code>
       */
      public Builder clearLat() {
        
        lat_ = 0D;
        onChanged();
        return this;
      }

      private double lon_ ;
      /**
       * <code>double lon = 3;</code>
       */
      public double getLon() {
        return lon_;
      }
      /**
       * <code>double lon = 3;</code>
       */
      public Builder setLon(double value) {
        
        lon_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>double lon = 3;</code>
       */
      public Builder clearLon() {
        
        lon_ = 0D;
        onChanged();
        return this;
      }

      private Object cityCode_ = "";
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 4;</code>
       */
      public String getCityCode() {
        Object ref = cityCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          cityCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCityCodeBytes() {
        Object ref = cityCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          cityCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 4;</code>
       */
      public Builder setCityCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cityCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 4;</code>
       */
      public Builder clearCityCode() {
        
        cityCode_ = getDefaultInstance().getCityCode();
        onChanged();
        return this;
      }
      /**
       * <pre>
       **城市编码
       * </pre>
       *
       * <code>string cityCode = 4;</code>
       */
      public Builder setCityCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cityCode_ = value;
        onChanged();
        return this;
      }

      private int vehicleType_ ;
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 5;</code>
       */
      public int getVehicleType() {
        return vehicleType_;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 5;</code>
       */
      public Builder setVehicleType(int value) {
        
        vehicleType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **运营车辆类型 9出租车车 10小巴
       * </pre>
       *
       * <code>uint32 vehicleType = 5;</code>
       */
      public Builder clearVehicleType() {
        
        vehicleType_ = 0;
        onChanged();
        return this;
      }

      private Object trackingVehicleSn_ = "";
      /**
       * <pre>
       **追踪车辆 sn
       * </pre>
       *
       * <code>string trackingVehicleSn = 6;</code>
       */
      public String getTrackingVehicleSn() {
        Object ref = trackingVehicleSn_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          trackingVehicleSn_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       **追踪车辆 sn
       * </pre>
       *
       * <code>string trackingVehicleSn = 6;</code>
       */
      public com.google.protobuf.ByteString
          getTrackingVehicleSnBytes() {
        Object ref = trackingVehicleSn_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          trackingVehicleSn_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       **追踪车辆 sn
       * </pre>
       *
       * <code>string trackingVehicleSn = 6;</code>
       */
      public Builder setTrackingVehicleSn(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        trackingVehicleSn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **追踪车辆 sn
       * </pre>
       *
       * <code>string trackingVehicleSn = 6;</code>
       */
      public Builder clearTrackingVehicleSn() {
        
        trackingVehicleSn_ = getDefaultInstance().getTrackingVehicleSn();
        onChanged();
        return this;
      }
      /**
       * <pre>
       **追踪车辆 sn
       * </pre>
       *
       * <code>string trackingVehicleSn = 6;</code>
       */
      public Builder setTrackingVehicleSnBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        trackingVehicleSn_ = value;
        onChanged();
        return this;
      }

      private int queryType_ ;
      /**
       * <pre>
       **0 查询所有车辆模式 1查询运营车辆模式 2查询指定车辆模式
       * </pre>
       *
       * <code>uint32 queryType = 7;</code>
       */
      public int getQueryType() {
        return queryType_;
      }
      /**
       * <pre>
       **0 查询所有车辆模式 1查询运营车辆模式 2查询指定车辆模式
       * </pre>
       *
       * <code>uint32 queryType = 7;</code>
       */
      public Builder setQueryType(int value) {
        
        queryType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       **0 查询所有车辆模式 1查询运营车辆模式 2查询指定车辆模式
       * </pre>
       *
       * <code>uint32 queryType = 7;</code>
       */
      public Builder clearQueryType() {
        
        queryType_ = 0;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:mogo.yycp.service.SocketRequestVo)
    }

    // @@protoc_insertion_point(class_scope:mogo.yycp.service.SocketRequestVo)
    private static final SocketRequestVo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new SocketRequestVo();
    }

    public static SocketRequestVo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<SocketRequestVo>
        PARSER = new com.google.protobuf.AbstractParser<SocketRequestVo>() {
      @Override
      public SocketRequestVo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new SocketRequestVo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<SocketRequestVo> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<SocketRequestVo> getParserForType() {
      return PARSER;
    }

    @Override
    public SocketRequestVo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_SocketReceiveDataProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_OnePerSecondSendReqProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_MyLocationReq_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_MyLocationReq_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_LocationInfoProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_LocationInfoProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_ADASRecognizedReq_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_mogo_yycp_service_SocketRequestVo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_mogo_yycp_service_SocketRequestVo_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\027socketReceiveData.proto\022\021mogo.yycp.ser" +
      "vice\"\365\001\n\026SocketReceiveDataProto\022\013\n\003seq\030\001" +
      " \001(\004\022\017\n\007msgType\030\002 \001(\r\022\n\n\002sn\030\003 \001(\t\022\r\n\005IPC" +
      "Sn\030\004 \001(\t\0229\n\004data\030\005 \001(\0132+.mogo.yycp.servi" +
      "ce.OnePerSecondSendReqProto\0221\n\005data2\030\006 \001" +
      "(\0132\".mogo.yycp.service.SocketRequestVo\022\017" +
      "\n\007utcTime\030\007 \001(\004\022\021\n\tupUtcTime\030\010 \001(\004\022\020\n\010ci" +
      "tyCode\030\t \001(\t\"~\n\030OnePerSecondSendReqProto" +
      "\022.\n\004self\030\001 \001(\0132 .mogo.yycp.service.MyLoc" +
      "ationReq\0222\n\004adas\030\002 \003(\0132$.mogo.yycp.servi" +
      "ce.ADASRecognizedReq\"\346\001\n\rMyLocationReq\022\n" +
      "\n\002sn\030\001 \001(\t\022\022\n\nmortonCode\030\002 \001(\004\022<\n\016lastCo" +
      "ordinate\030\003 \001(\0132$.mogo.yycp.service.Locat" +
      "ionInfoProto\0229\n\013coordinates\030\004 \003(\0132$.mogo" +
      ".yycp.service.LocationInfoProto\022\020\n\010fromT" +
      "ype\030\005 \001(\r\022\024\n\014dataAccuracy\030\006 \001(\r\022\024\n\014busin" +
      "essType\030\007 \001(\r\"\341\002\n\021LocationInfoProto\022\n\n\002s" +
      "n\030\001 \001(\t\022\r\n\005color\030\002 \001(\t\022\016\n\006cardId\030\003 \001(\t\022\013" +
      "\n\003lat\030\004 \001(\001\022\013\n\003lon\030\005 \001(\001\022\017\n\007heading\030\006 \001(" +
      "\001\022\022\n\nsystemTime\030\007 \001(\004\022\025\n\rsatelliteTime\030\010" +
      " \001(\004\022\013\n\003alt\030\t \001(\001\022\r\n\005speed\030\n \001(\001\022\024\n\014vehi" +
      "cleSpeed\030\013 \001(\001\022\024\n\014acceleration\030\014 \001(\001\022\017\n\007" +
      "yawRate\030\r \001(\001\022\022\n\nmortonCode\030\016 \001(\004\022\020\n\010cit" +
      "yCode\030\017 \001(\t\022\023\n\013vehicleType\030\020 \001(\r\022\024\n\014data" +
      "Accuracy\030\021 \001(\r\022\016\n\006tileId\030\022 \001(\t\022\021\n\tturnLi" +
      "ght\030\023 \001(\r\"\215\003\n\021ADASRecognizedReq\022\014\n\004type\030" +
      "\001 \001(\r\022\014\n\004uuid\030\002 \001(\t\022\r\n\005color\030\003 \001(\t\022\016\n\006ca" +
      "rdId\030\004 \001(\t\022\013\n\003lat\030\005 \001(\001\022\013\n\003lon\030\006 \001(\001\022\017\n\007" +
      "heading\030\007 \001(\001\022\022\n\nsystemTime\030\010 \001(\004\022\025\n\rsat" +
      "elliteTime\030\t \001(\004\022\013\n\003alt\030\n \001(\001\022\r\n\005speed\030\013" +
      " \001(\001\022\022\n\nmortonCode\030\014 \001(\004\022\020\n\010cityCode\030\r \001" +
      "(\t\022\023\n\013vehicleType\030\016 \001(\r\022\024\n\014dataAccuracy\030" +
      "\017 \001(\r\022\020\n\010distance\030\020 \001(\001\022\016\n\006tileId\030\021 \001(\t\022" +
      "\021\n\tdrawlevel\030\022 \001(\r\022\021\n\tdistanceX\030\023 \001(\001\022\021\n" +
      "\tdistanceY\030\024 \001(\001\022\016\n\006roadId\030\025 \001(\t\022\017\n\007lane" +
      "Num\030\026 \001(\r\"\214\001\n\017SocketRequestVo\022\n\n\002sn\030\001 \001(" +
      "\t\022\013\n\003lat\030\002 \001(\001\022\013\n\003lon\030\003 \001(\001\022\020\n\010cityCode\030" +
      "\004 \001(\t\022\023\n\013vehicleType\030\005 \001(\r\022\031\n\021trackingVe" +
      "hicleSn\030\006 \001(\t\022\021\n\tqueryType\030\007 \001(\rB3\n\030com." +
      "mogo.realtime.entityB\027SocketReceiveDataP" +
      "roto3b\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_mogo_yycp_service_SocketReceiveDataProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_SocketReceiveDataProto_descriptor,
        new String[] { "Seq", "MsgType", "Sn", "IPCSn", "Data", "Data2", "UtcTime", "UpUtcTime", "CityCode", });
    internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_mogo_yycp_service_OnePerSecondSendReqProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_OnePerSecondSendReqProto_descriptor,
        new String[] { "Self", "Adas", });
    internal_static_mogo_yycp_service_MyLocationReq_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_mogo_yycp_service_MyLocationReq_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_MyLocationReq_descriptor,
        new String[] { "Sn", "MortonCode", "LastCoordinate", "Coordinates", "FromType", "DataAccuracy", "BusinessType", });
    internal_static_mogo_yycp_service_LocationInfoProto_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_mogo_yycp_service_LocationInfoProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_LocationInfoProto_descriptor,
        new String[] { "Sn", "Color", "CardId", "Lat", "Lon", "Heading", "SystemTime", "SatelliteTime", "Alt", "Speed", "VehicleSpeed", "Acceleration", "YawRate", "MortonCode", "CityCode", "VehicleType", "DataAccuracy", "TileId", "TurnLight", });
    internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_mogo_yycp_service_ADASRecognizedReq_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_ADASRecognizedReq_descriptor,
        new String[] { "Type", "Uuid", "Color", "CardId", "Lat", "Lon", "Heading", "SystemTime", "SatelliteTime", "Alt", "Speed", "MortonCode", "CityCode", "VehicleType", "DataAccuracy", "Distance", "TileId", "Drawlevel", "DistanceX", "DistanceY", "RoadId", "LaneNum", });
    internal_static_mogo_yycp_service_SocketRequestVo_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_mogo_yycp_service_SocketRequestVo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_mogo_yycp_service_SocketRequestVo_descriptor,
        new String[] { "Sn", "Lat", "Lon", "CityCode", "VehicleType", "TrackingVehicleSn", "QueryType", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
