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

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class GroupRide {
  private GroupRide() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code group_ride_notice_cmd}
   */
  public enum group_ride_notice_cmd
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_INVALID_CMD = 0;</code>
     */
    enum_INVALID_CMD(0),
    /**
     * <code>enum_ONLINE_STATUS_COMFIRM = 1;</code>
     */
    enum_ONLINE_STATUS_COMFIRM(1),
    /**
     * <code>enum_EMERGENCY_CALLING = 2;</code>
     */
    enum_EMERGENCY_CALLING(2),
    /**
     * <code>enum_DANGEROUS_POINT_MARK = 3;</code>
     */
    enum_DANGEROUS_POINT_MARK(3),
    /**
     * <code>enum_GROUP_RIDE_ENTER = 4;</code>
     */
    enum_GROUP_RIDE_ENTER(4),
    /**
     * <code>enum_GROUP_RIDE_EXIT = 5;</code>
     */
    enum_GROUP_RIDE_EXIT(5),
    /**
     * <code>enum_GROUP_RIDE_REJECT = 6;</code>
     */
    enum_GROUP_RIDE_REJECT(6),
    /**
     * <code>enum_ROUTE_UPDTAE_ACCEPT = 7;</code>
     */
    enum_ROUTE_UPDTAE_ACCEPT(7),
    ;

    /**
     * <code>enum_INVALID_CMD = 0;</code>
     */
    public static final int enum_INVALID_CMD_VALUE = 0;
    /**
     * <code>enum_ONLINE_STATUS_COMFIRM = 1;</code>
     */
    public static final int enum_ONLINE_STATUS_COMFIRM_VALUE = 1;
    /**
     * <code>enum_EMERGENCY_CALLING = 2;</code>
     */
    public static final int enum_EMERGENCY_CALLING_VALUE = 2;
    /**
     * <code>enum_DANGEROUS_POINT_MARK = 3;</code>
     */
    public static final int enum_DANGEROUS_POINT_MARK_VALUE = 3;
    /**
     * <code>enum_GROUP_RIDE_ENTER = 4;</code>
     */
    public static final int enum_GROUP_RIDE_ENTER_VALUE = 4;
    /**
     * <code>enum_GROUP_RIDE_EXIT = 5;</code>
     */
    public static final int enum_GROUP_RIDE_EXIT_VALUE = 5;
    /**
     * <code>enum_GROUP_RIDE_REJECT = 6;</code>
     */
    public static final int enum_GROUP_RIDE_REJECT_VALUE = 6;
    /**
     * <code>enum_ROUTE_UPDTAE_ACCEPT = 7;</code>
     */
    public static final int enum_ROUTE_UPDTAE_ACCEPT_VALUE = 7;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static group_ride_notice_cmd valueOf(int value) {
      return forNumber(value);
    }

    public static group_ride_notice_cmd forNumber(int value) {
      switch (value) {
        case 0: return enum_INVALID_CMD;
        case 1: return enum_ONLINE_STATUS_COMFIRM;
        case 2: return enum_EMERGENCY_CALLING;
        case 3: return enum_DANGEROUS_POINT_MARK;
        case 4: return enum_GROUP_RIDE_ENTER;
        case 5: return enum_GROUP_RIDE_EXIT;
        case 6: return enum_GROUP_RIDE_REJECT;
        case 7: return enum_ROUTE_UPDTAE_ACCEPT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<group_ride_notice_cmd>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        group_ride_notice_cmd> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<group_ride_notice_cmd>() {
            @java.lang.Override
            public group_ride_notice_cmd findValueByNumber(int number) {
              return group_ride_notice_cmd.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return group_ride_notice_cmdVerifier.INSTANCE;
    }

    private static final class group_ride_notice_cmdVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new group_ride_notice_cmdVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return group_ride_notice_cmd.forNumber(number) != null;
            }
          };

    private final int value;

    private group_ride_notice_cmd(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:group_ride_notice_cmd)
  }

  /**
   * Protobuf enum {@code group_ride_msg_type}
   */
  public enum group_ride_msg_type
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_INVALID_TYPE = 0;</code>
     */
    enum_INVALID_TYPE(0),
    /**
     * <code>enum_ONLINE_STATUS_COMFIRM_TYPE = 1;</code>
     */
    enum_ONLINE_STATUS_COMFIRM_TYPE(1),
    /**
     * <code>enum_MEMBER_PERSONAL_INFOR = 2;</code>
     */
    enum_MEMBER_PERSONAL_INFOR(2),
    /**
     * <code>enum_MEMBER_GROUP_RIDE_INFOR = 3;</code>
     */
    enum_MEMBER_GROUP_RIDE_INFOR(3),
    /**
     * <code>enum_MEMBER_DANGROUS_INFOR = 4;</code>
     */
    enum_MEMBER_DANGROUS_INFOR(4),
    /**
     * <code>enum_GROUP_RIDE_CTRL_ENTER = 5;</code>
     */
    enum_GROUP_RIDE_CTRL_ENTER(5),
    /**
     * <code>enum_GROUP_RIDE_CTRL_EXIT = 6;</code>
     */
    enum_GROUP_RIDE_CTRL_EXIT(6),
    /**
     * <code>enum_GROUP_RIDE_CTRL_START = 7;</code>
     */
    enum_GROUP_RIDE_CTRL_START(7),
    /**
     * <code>enum_GROUP_RIDE_CTRL_FILE_START = 8;</code>
     */
    enum_GROUP_RIDE_CTRL_FILE_START(8),
    /**
     * <code>enum_GROUP_RIDE_CTRL_FILE_END = 9;</code>
     */
    enum_GROUP_RIDE_CTRL_FILE_END(9),
    /**
     * <code>enum_NOTICE_MSG = 10;</code>
     */
    enum_NOTICE_MSG(10),
    ;

    /**
     * <code>enum_INVALID_TYPE = 0;</code>
     */
    public static final int enum_INVALID_TYPE_VALUE = 0;
    /**
     * <code>enum_ONLINE_STATUS_COMFIRM_TYPE = 1;</code>
     */
    public static final int enum_ONLINE_STATUS_COMFIRM_TYPE_VALUE = 1;
    /**
     * <code>enum_MEMBER_PERSONAL_INFOR = 2;</code>
     */
    public static final int enum_MEMBER_PERSONAL_INFOR_VALUE = 2;
    /**
     * <code>enum_MEMBER_GROUP_RIDE_INFOR = 3;</code>
     */
    public static final int enum_MEMBER_GROUP_RIDE_INFOR_VALUE = 3;
    /**
     * <code>enum_MEMBER_DANGROUS_INFOR = 4;</code>
     */
    public static final int enum_MEMBER_DANGROUS_INFOR_VALUE = 4;
    /**
     * <code>enum_GROUP_RIDE_CTRL_ENTER = 5;</code>
     */
    public static final int enum_GROUP_RIDE_CTRL_ENTER_VALUE = 5;
    /**
     * <code>enum_GROUP_RIDE_CTRL_EXIT = 6;</code>
     */
    public static final int enum_GROUP_RIDE_CTRL_EXIT_VALUE = 6;
    /**
     * <code>enum_GROUP_RIDE_CTRL_START = 7;</code>
     */
    public static final int enum_GROUP_RIDE_CTRL_START_VALUE = 7;
    /**
     * <code>enum_GROUP_RIDE_CTRL_FILE_START = 8;</code>
     */
    public static final int enum_GROUP_RIDE_CTRL_FILE_START_VALUE = 8;
    /**
     * <code>enum_GROUP_RIDE_CTRL_FILE_END = 9;</code>
     */
    public static final int enum_GROUP_RIDE_CTRL_FILE_END_VALUE = 9;
    /**
     * <code>enum_NOTICE_MSG = 10;</code>
     */
    public static final int enum_NOTICE_MSG_VALUE = 10;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static group_ride_msg_type valueOf(int value) {
      return forNumber(value);
    }

    public static group_ride_msg_type forNumber(int value) {
      switch (value) {
        case 0: return enum_INVALID_TYPE;
        case 1: return enum_ONLINE_STATUS_COMFIRM_TYPE;
        case 2: return enum_MEMBER_PERSONAL_INFOR;
        case 3: return enum_MEMBER_GROUP_RIDE_INFOR;
        case 4: return enum_MEMBER_DANGROUS_INFOR;
        case 5: return enum_GROUP_RIDE_CTRL_ENTER;
        case 6: return enum_GROUP_RIDE_CTRL_EXIT;
        case 7: return enum_GROUP_RIDE_CTRL_START;
        case 8: return enum_GROUP_RIDE_CTRL_FILE_START;
        case 9: return enum_GROUP_RIDE_CTRL_FILE_END;
        case 10: return enum_NOTICE_MSG;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<group_ride_msg_type>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        group_ride_msg_type> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<group_ride_msg_type>() {
            @java.lang.Override
            public group_ride_msg_type findValueByNumber(int number) {
              return group_ride_msg_type.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return group_ride_msg_typeVerifier.INSTANCE;
    }

    private static final class group_ride_msg_typeVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new group_ride_msg_typeVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return group_ride_msg_type.forNumber(number) != null;
            }
          };

    private final int value;

    private group_ride_msg_type(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:group_ride_msg_type)
  }

  /**
   * Protobuf enum {@code member_identity_infor}
   */
  public enum member_identity_infor
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_INVALID_IDENTITY_INFOR = 0;</code>
     */
    enum_INVALID_IDENTITY_INFOR(0),
    /**
     * <code>enum_GROUP_RIDE_LEADER = 1;</code>
     */
    enum_GROUP_RIDE_LEADER(1),
    /**
     * <code>enum_GROUP_RIDE_VICE_LEADER = 2;</code>
     */
    enum_GROUP_RIDE_VICE_LEADER(2),
    /**
     * <code>enum_GROUP_RIDE_MEMBER = 3;</code>
     */
    enum_GROUP_RIDE_MEMBER(3),
    ;

    /**
     * <code>enum_INVALID_IDENTITY_INFOR = 0;</code>
     */
    public static final int enum_INVALID_IDENTITY_INFOR_VALUE = 0;
    /**
     * <code>enum_GROUP_RIDE_LEADER = 1;</code>
     */
    public static final int enum_GROUP_RIDE_LEADER_VALUE = 1;
    /**
     * <code>enum_GROUP_RIDE_VICE_LEADER = 2;</code>
     */
    public static final int enum_GROUP_RIDE_VICE_LEADER_VALUE = 2;
    /**
     * <code>enum_GROUP_RIDE_MEMBER = 3;</code>
     */
    public static final int enum_GROUP_RIDE_MEMBER_VALUE = 3;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static member_identity_infor valueOf(int value) {
      return forNumber(value);
    }

    public static member_identity_infor forNumber(int value) {
      switch (value) {
        case 0: return enum_INVALID_IDENTITY_INFOR;
        case 1: return enum_GROUP_RIDE_LEADER;
        case 2: return enum_GROUP_RIDE_VICE_LEADER;
        case 3: return enum_GROUP_RIDE_MEMBER;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<member_identity_infor>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        member_identity_infor> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<member_identity_infor>() {
            @java.lang.Override
            public member_identity_infor findValueByNumber(int number) {
              return member_identity_infor.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return member_identity_inforVerifier.INSTANCE;
    }

    private static final class member_identity_inforVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new member_identity_inforVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return member_identity_infor.forNumber(number) != null;
            }
          };

    private final int value;

    private member_identity_infor(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:member_identity_infor)
  }

  /**
   * Protobuf enum {@code member_status}
   */
  public enum member_status
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_GROUP_RIDE_INVALID_STATUS = 0;</code>
     */
    enum_GROUP_RIDE_INVALID_STATUS(0),
    /**
     * <code>enum_EXIT = 1;</code>
     */
    enum_EXIT(1),
    /**
     * <code>enum_ONLINE = 2;</code>
     */
    enum_ONLINE(2),
    /**
     * <code>enum_OFFLINE = 3;</code>
     */
    enum_OFFLINE(3),
    ;

    /**
     * <code>enum_GROUP_RIDE_INVALID_STATUS = 0;</code>
     */
    public static final int enum_GROUP_RIDE_INVALID_STATUS_VALUE = 0;
    /**
     * <code>enum_EXIT = 1;</code>
     */
    public static final int enum_EXIT_VALUE = 1;
    /**
     * <code>enum_ONLINE = 2;</code>
     */
    public static final int enum_ONLINE_VALUE = 2;
    /**
     * <code>enum_OFFLINE = 3;</code>
     */
    public static final int enum_OFFLINE_VALUE = 3;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static member_status valueOf(int value) {
      return forNumber(value);
    }

    public static member_status forNumber(int value) {
      switch (value) {
        case 0: return enum_GROUP_RIDE_INVALID_STATUS;
        case 1: return enum_EXIT;
        case 2: return enum_ONLINE;
        case 3: return enum_OFFLINE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<member_status>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        member_status> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<member_status>() {
            @java.lang.Override
            public member_status findValueByNumber(int number) {
              return member_status.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return member_statusVerifier.INSTANCE;
    }

    private static final class member_statusVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new member_statusVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return member_status.forNumber(number) != null;
            }
          };

    private final int value;

    private member_status(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:member_status)
  }

  /**
   * Protobuf enum {@code exit_reason}
   */
  public enum exit_reason
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_INVALID_REASON = 0;</code>
     */
    enum_INVALID_REASON(0),
    /**
     * <code>enum_VOLUNTARY = 1;</code>
     */
    enum_VOLUNTARY(1),
    /**
     * <code>enum_TIMEOUT = 2;</code>
     */
    enum_TIMEOUT(2),
    /**
     * <code>enum_DISSOLVE = 3;</code>
     */
    enum_DISSOLVE(3),
    /**
     * <code>enum_KICKED_OUT = 4;</code>
     */
    enum_KICKED_OUT(4),
    ;

    /**
     * <code>enum_INVALID_REASON = 0;</code>
     */
    public static final int enum_INVALID_REASON_VALUE = 0;
    /**
     * <code>enum_VOLUNTARY = 1;</code>
     */
    public static final int enum_VOLUNTARY_VALUE = 1;
    /**
     * <code>enum_TIMEOUT = 2;</code>
     */
    public static final int enum_TIMEOUT_VALUE = 2;
    /**
     * <code>enum_DISSOLVE = 3;</code>
     */
    public static final int enum_DISSOLVE_VALUE = 3;
    /**
     * <code>enum_KICKED_OUT = 4;</code>
     */
    public static final int enum_KICKED_OUT_VALUE = 4;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static exit_reason valueOf(int value) {
      return forNumber(value);
    }

    public static exit_reason forNumber(int value) {
      switch (value) {
        case 0: return enum_INVALID_REASON;
        case 1: return enum_VOLUNTARY;
        case 2: return enum_TIMEOUT;
        case 3: return enum_DISSOLVE;
        case 4: return enum_KICKED_OUT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<exit_reason>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        exit_reason> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<exit_reason>() {
            @java.lang.Override
            public exit_reason findValueByNumber(int number) {
              return exit_reason.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return exit_reasonVerifier.INSTANCE;
    }

    private static final class exit_reasonVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new exit_reasonVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return exit_reason.forNumber(number) != null;
            }
          };

    private final int value;

    private exit_reason(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:exit_reason)
  }

  public interface online_status_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:online_status_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required uint32 status = 1;</code>
     * @return Whether the status field is set.
     */
    boolean hasStatus();
    /**
     * <code>required uint32 status = 1;</code>
     * @return The status.
     */
    int getStatus();

    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     * @return Whether the groupRideId field is set.
     */
    boolean hasGroupRideId();
    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     * @return The groupRideId.
     */
    int getGroupRideId();
  }
  /**
   * Protobuf type {@code online_status_msg}
   */
  public  static final class online_status_msg extends
      com.google.protobuf.GeneratedMessageLite<
          online_status_msg, online_status_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:online_status_msg)
      online_status_msgOrBuilder {
    private online_status_msg() {
    }
    private int bitField0_;
    public static final int STATUS_FIELD_NUMBER = 1;
    private int status_;
    /**
     * <code>required uint32 status = 1;</code>
     * @return Whether the status field is set.
     */
    @java.lang.Override
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint32 status = 1;</code>
     * @return The status.
     */
    @java.lang.Override
    public int getStatus() {
      return status_;
    }
    /**
     * <code>required uint32 status = 1;</code>
     * @param value The status to set.
     */
    private void setStatus(int value) {
      bitField0_ |= 0x00000001;
      status_ = value;
    }
    /**
     * <code>required uint32 status = 1;</code>
     */
    private void clearStatus() {
      bitField0_ = (bitField0_ & ~0x00000001);
      status_ = 0;
    }

    public static final int GROUP_RIDE_ID_FIELD_NUMBER = 2;
    private int groupRideId_;
    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     * @return Whether the groupRideId field is set.
     */
    @java.lang.Override
    public boolean hasGroupRideId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     * @return The groupRideId.
     */
    @java.lang.Override
    public int getGroupRideId() {
      return groupRideId_;
    }
    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     * @param value The groupRideId to set.
     */
    private void setGroupRideId(int value) {
      bitField0_ |= 0x00000002;
      groupRideId_ = value;
    }
    /**
     * <code>optional uint32 group_ride_id = 2;</code>
     */
    private void clearGroupRideId() {
      bitField0_ = (bitField0_ & ~0x00000002);
      groupRideId_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code online_status_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:online_status_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required uint32 status = 1;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return instance.hasStatus();
      }
      /**
       * <code>required uint32 status = 1;</code>
       * @return The status.
       */
      @java.lang.Override
      public int getStatus() {
        return instance.getStatus();
      }
      /**
       * <code>required uint32 status = 1;</code>
       * @param value The status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(int value) {
        copyOnWrite();
        instance.setStatus(value);
        return this;
      }
      /**
       * <code>required uint32 status = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        copyOnWrite();
        instance.clearStatus();
        return this;
      }

      /**
       * <code>optional uint32 group_ride_id = 2;</code>
       * @return Whether the groupRideId field is set.
       */
      @java.lang.Override
      public boolean hasGroupRideId() {
        return instance.hasGroupRideId();
      }
      /**
       * <code>optional uint32 group_ride_id = 2;</code>
       * @return The groupRideId.
       */
      @java.lang.Override
      public int getGroupRideId() {
        return instance.getGroupRideId();
      }
      /**
       * <code>optional uint32 group_ride_id = 2;</code>
       * @param value The groupRideId to set.
       * @return This builder for chaining.
       */
      public Builder setGroupRideId(int value) {
        copyOnWrite();
        instance.setGroupRideId(value);
        return this;
      }
      /**
       * <code>optional uint32 group_ride_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearGroupRideId() {
        copyOnWrite();
        instance.clearGroupRideId();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:online_status_msg)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "status_",
              "groupRideId_",
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0001\u0001\u150b\u0000\u0002" +
                "\u100b\u0001";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:online_status_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg DEFAULT_INSTANCE;
    static {
      online_status_msg defaultInstance = new online_status_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        online_status_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<online_status_msg> PARSER;

    public static com.google.protobuf.Parser<online_status_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface personal_infor_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:personal_infor_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required uint32 member_id = 1;</code>
     * @return Whether the memberId field is set.
     */
    boolean hasMemberId();
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return The memberId.
     */
    int getMemberId();

    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     * @return Whether the memberIdentity field is set.
     */
    boolean hasMemberIdentity();
    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     * @return The memberIdentity.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor getMemberIdentity();

    /**
     * <code>optional string nikename = 3;</code>
     * @return Whether the nikename field is set.
     */
    boolean hasNikename();
    /**
     * <code>optional string nikename = 3;</code>
     * @return The nikename.
     */
    java.lang.String getNikename();
    /**
     * <code>optional string nikename = 3;</code>
     * @return The bytes for nikename.
     */
    com.google.protobuf.ByteString
        getNikenameBytes();

    /**
     * <code>optional uint32 is_owner = 4;</code>
     * @return Whether the isOwner field is set.
     */
    boolean hasIsOwner();
    /**
     * <code>optional uint32 is_owner = 4;</code>
     * @return The isOwner.
     */
    int getIsOwner();
  }
  /**
   * Protobuf type {@code personal_infor_msg}
   */
  public  static final class personal_infor_msg extends
      com.google.protobuf.GeneratedMessageLite<
          personal_infor_msg, personal_infor_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:personal_infor_msg)
      personal_infor_msgOrBuilder {
    private personal_infor_msg() {
      nikename_ = "";
    }
    private int bitField0_;
    public static final int MEMBER_ID_FIELD_NUMBER = 1;
    private int memberId_;
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return Whether the memberId field is set.
     */
    @java.lang.Override
    public boolean hasMemberId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return The memberId.
     */
    @java.lang.Override
    public int getMemberId() {
      return memberId_;
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     * @param value The memberId to set.
     */
    private void setMemberId(int value) {
      bitField0_ |= 0x00000001;
      memberId_ = value;
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     */
    private void clearMemberId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      memberId_ = 0;
    }

    public static final int MEMBER_IDENTITY_FIELD_NUMBER = 2;
    private int memberIdentity_;
    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     * @return Whether the memberIdentity field is set.
     */
    @java.lang.Override
    public boolean hasMemberIdentity() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     * @return The memberIdentity.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor getMemberIdentity() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor.forNumber(memberIdentity_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor.enum_INVALID_IDENTITY_INFOR : result;
    }
    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     * @param value The memberIdentity to set.
     */
    private void setMemberIdentity(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor value) {
      memberIdentity_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .member_identity_infor member_identity = 2;</code>
     */
    private void clearMemberIdentity() {
      bitField0_ = (bitField0_ & ~0x00000002);
      memberIdentity_ = 0;
    }

    public static final int NIKENAME_FIELD_NUMBER = 3;
    private java.lang.String nikename_;
    /**
     * <code>optional string nikename = 3;</code>
     * @return Whether the nikename field is set.
     */
    @java.lang.Override
    public boolean hasNikename() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string nikename = 3;</code>
     * @return The nikename.
     */
    @java.lang.Override
    public java.lang.String getNikename() {
      return nikename_;
    }
    /**
     * <code>optional string nikename = 3;</code>
     * @return The bytes for nikename.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNikenameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(nikename_);
    }
    /**
     * <code>optional string nikename = 3;</code>
     * @param value The nikename to set.
     */
    private void setNikename(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      nikename_ = value;
    }
    /**
     * <code>optional string nikename = 3;</code>
     */
    private void clearNikename() {
      bitField0_ = (bitField0_ & ~0x00000004);
      nikename_ = getDefaultInstance().getNikename();
    }
    /**
     * <code>optional string nikename = 3;</code>
     * @param value The bytes for nikename to set.
     */
    private void setNikenameBytes(
        com.google.protobuf.ByteString value) {
      nikename_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static final int IS_OWNER_FIELD_NUMBER = 4;
    private int isOwner_;
    /**
     * <code>optional uint32 is_owner = 4;</code>
     * @return Whether the isOwner field is set.
     */
    @java.lang.Override
    public boolean hasIsOwner() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional uint32 is_owner = 4;</code>
     * @return The isOwner.
     */
    @java.lang.Override
    public int getIsOwner() {
      return isOwner_;
    }
    /**
     * <code>optional uint32 is_owner = 4;</code>
     * @param value The isOwner to set.
     */
    private void setIsOwner(int value) {
      bitField0_ |= 0x00000008;
      isOwner_ = value;
    }
    /**
     * <code>optional uint32 is_owner = 4;</code>
     */
    private void clearIsOwner() {
      bitField0_ = (bitField0_ & ~0x00000008);
      isOwner_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code personal_infor_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:personal_infor_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required uint32 member_id = 1;</code>
       * @return Whether the memberId field is set.
       */
      @java.lang.Override
      public boolean hasMemberId() {
        return instance.hasMemberId();
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @return The memberId.
       */
      @java.lang.Override
      public int getMemberId() {
        return instance.getMemberId();
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @param value The memberId to set.
       * @return This builder for chaining.
       */
      public Builder setMemberId(int value) {
        copyOnWrite();
        instance.setMemberId(value);
        return this;
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMemberId() {
        copyOnWrite();
        instance.clearMemberId();
        return this;
      }

      /**
       * <code>required .member_identity_infor member_identity = 2;</code>
       * @return Whether the memberIdentity field is set.
       */
      @java.lang.Override
      public boolean hasMemberIdentity() {
        return instance.hasMemberIdentity();
      }
      /**
       * <code>required .member_identity_infor member_identity = 2;</code>
       * @return The memberIdentity.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor getMemberIdentity() {
        return instance.getMemberIdentity();
      }
      /**
       * <code>required .member_identity_infor member_identity = 2;</code>
       * @param value The enum numeric value on the wire for memberIdentity to set.
       * @return This builder for chaining.
       */
      public Builder setMemberIdentity(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor value) {
        copyOnWrite();
        instance.setMemberIdentity(value);
        return this;
      }
      /**
       * <code>required .member_identity_infor member_identity = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMemberIdentity() {
        copyOnWrite();
        instance.clearMemberIdentity();
        return this;
      }

      /**
       * <code>optional string nikename = 3;</code>
       * @return Whether the nikename field is set.
       */
      @java.lang.Override
      public boolean hasNikename() {
        return instance.hasNikename();
      }
      /**
       * <code>optional string nikename = 3;</code>
       * @return The nikename.
       */
      @java.lang.Override
      public java.lang.String getNikename() {
        return instance.getNikename();
      }
      /**
       * <code>optional string nikename = 3;</code>
       * @return The bytes for nikename.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNikenameBytes() {
        return instance.getNikenameBytes();
      }
      /**
       * <code>optional string nikename = 3;</code>
       * @param value The nikename to set.
       * @return This builder for chaining.
       */
      public Builder setNikename(
          java.lang.String value) {
        copyOnWrite();
        instance.setNikename(value);
        return this;
      }
      /**
       * <code>optional string nikename = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearNikename() {
        copyOnWrite();
        instance.clearNikename();
        return this;
      }
      /**
       * <code>optional string nikename = 3;</code>
       * @param value The bytes for nikename to set.
       * @return This builder for chaining.
       */
      public Builder setNikenameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setNikenameBytes(value);
        return this;
      }

      /**
       * <code>optional uint32 is_owner = 4;</code>
       * @return Whether the isOwner field is set.
       */
      @java.lang.Override
      public boolean hasIsOwner() {
        return instance.hasIsOwner();
      }
      /**
       * <code>optional uint32 is_owner = 4;</code>
       * @return The isOwner.
       */
      @java.lang.Override
      public int getIsOwner() {
        return instance.getIsOwner();
      }
      /**
       * <code>optional uint32 is_owner = 4;</code>
       * @param value The isOwner to set.
       * @return This builder for chaining.
       */
      public Builder setIsOwner(int value) {
        copyOnWrite();
        instance.setIsOwner(value);
        return this;
      }
      /**
       * <code>optional uint32 is_owner = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsOwner() {
        copyOnWrite();
        instance.clearIsOwner();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:personal_infor_msg)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "memberId_",
              "memberIdentity_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_identity_infor.internalGetVerifier(),
              "nikename_",
              "isOwner_",
            };
            java.lang.String info =
                "\u0001\u0004\u0000\u0001\u0001\u0004\u0004\u0000\u0000\u0002\u0001\u150b\u0000\u0002" +
                "\u150c\u0001\u0003\u1008\u0002\u0004\u100b\u0003";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:personal_infor_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg DEFAULT_INSTANCE;
    static {
      personal_infor_msg defaultInstance = new personal_infor_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        personal_infor_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<personal_infor_msg> PARSER;

    public static com.google.protobuf.Parser<personal_infor_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface group_ride_infor_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:group_ride_infor_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required uint32 member_id = 1;</code>
     * @return Whether the memberId field is set.
     */
    boolean hasMemberId();
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return The memberId.
     */
    int getMemberId();

    /**
     * <code>optional .member_status status = 2;</code>
     * @return Whether the status field is set.
     */
    boolean hasStatus();
    /**
     * <code>optional .member_status status = 2;</code>
     * @return The status.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status getStatus();

    /**
     * <code>optional double latitude = 3;</code>
     * @return Whether the latitude field is set.
     */
    boolean hasLatitude();
    /**
     * <code>optional double latitude = 3;</code>
     * @return The latitude.
     */
    double getLatitude();

    /**
     * <code>optional double longitude = 4;</code>
     * @return Whether the longitude field is set.
     */
    boolean hasLongitude();
    /**
     * <code>optional double longitude = 4;</code>
     * @return The longitude.
     */
    double getLongitude();

    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     * @return Whether the strightLineDistance field is set.
     */
    boolean hasStrightLineDistance();
    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     * @return The strightLineDistance.
     */
    int getStrightLineDistance();

    /**
     * <code>optional uint32 sos = 6;</code>
     * @return Whether the sos field is set.
     */
    boolean hasSos();
    /**
     * <code>optional uint32 sos = 6;</code>
     * @return The sos.
     */
    int getSos();
  }
  /**
   * Protobuf type {@code group_ride_infor_msg}
   */
  public  static final class group_ride_infor_msg extends
      com.google.protobuf.GeneratedMessageLite<
          group_ride_infor_msg, group_ride_infor_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:group_ride_infor_msg)
      group_ride_infor_msgOrBuilder {
    private group_ride_infor_msg() {
    }
    private int bitField0_;
    public static final int MEMBER_ID_FIELD_NUMBER = 1;
    private int memberId_;
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return Whether the memberId field is set.
     */
    @java.lang.Override
    public boolean hasMemberId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     * @return The memberId.
     */
    @java.lang.Override
    public int getMemberId() {
      return memberId_;
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     * @param value The memberId to set.
     */
    private void setMemberId(int value) {
      bitField0_ |= 0x00000001;
      memberId_ = value;
    }
    /**
     * <code>required uint32 member_id = 1;</code>
     */
    private void clearMemberId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      memberId_ = 0;
    }

    public static final int STATUS_FIELD_NUMBER = 2;
    private int status_;
    /**
     * <code>optional .member_status status = 2;</code>
     * @return Whether the status field is set.
     */
    @java.lang.Override
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .member_status status = 2;</code>
     * @return The status.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status getStatus() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status.forNumber(status_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status.enum_GROUP_RIDE_INVALID_STATUS : result;
    }
    /**
     * <code>optional .member_status status = 2;</code>
     * @param value The status to set.
     */
    private void setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status value) {
      status_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .member_status status = 2;</code>
     */
    private void clearStatus() {
      bitField0_ = (bitField0_ & ~0x00000002);
      status_ = 0;
    }

    public static final int LATITUDE_FIELD_NUMBER = 3;
    private double latitude_;
    /**
     * <code>optional double latitude = 3;</code>
     * @return Whether the latitude field is set.
     */
    @java.lang.Override
    public boolean hasLatitude() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional double latitude = 3;</code>
     * @return The latitude.
     */
    @java.lang.Override
    public double getLatitude() {
      return latitude_;
    }
    /**
     * <code>optional double latitude = 3;</code>
     * @param value The latitude to set.
     */
    private void setLatitude(double value) {
      bitField0_ |= 0x00000004;
      latitude_ = value;
    }
    /**
     * <code>optional double latitude = 3;</code>
     */
    private void clearLatitude() {
      bitField0_ = (bitField0_ & ~0x00000004);
      latitude_ = 0D;
    }

    public static final int LONGITUDE_FIELD_NUMBER = 4;
    private double longitude_;
    /**
     * <code>optional double longitude = 4;</code>
     * @return Whether the longitude field is set.
     */
    @java.lang.Override
    public boolean hasLongitude() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional double longitude = 4;</code>
     * @return The longitude.
     */
    @java.lang.Override
    public double getLongitude() {
      return longitude_;
    }
    /**
     * <code>optional double longitude = 4;</code>
     * @param value The longitude to set.
     */
    private void setLongitude(double value) {
      bitField0_ |= 0x00000008;
      longitude_ = value;
    }
    /**
     * <code>optional double longitude = 4;</code>
     */
    private void clearLongitude() {
      bitField0_ = (bitField0_ & ~0x00000008);
      longitude_ = 0D;
    }

    public static final int STRIGHT_LINE_DISTANCE_FIELD_NUMBER = 5;
    private int strightLineDistance_;
    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     * @return Whether the strightLineDistance field is set.
     */
    @java.lang.Override
    public boolean hasStrightLineDistance() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     * @return The strightLineDistance.
     */
    @java.lang.Override
    public int getStrightLineDistance() {
      return strightLineDistance_;
    }
    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     * @param value The strightLineDistance to set.
     */
    private void setStrightLineDistance(int value) {
      bitField0_ |= 0x00000010;
      strightLineDistance_ = value;
    }
    /**
     * <code>optional uint32 stright_line_distance = 5;</code>
     */
    private void clearStrightLineDistance() {
      bitField0_ = (bitField0_ & ~0x00000010);
      strightLineDistance_ = 0;
    }

    public static final int SOS_FIELD_NUMBER = 6;
    private int sos_;
    /**
     * <code>optional uint32 sos = 6;</code>
     * @return Whether the sos field is set.
     */
    @java.lang.Override
    public boolean hasSos() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional uint32 sos = 6;</code>
     * @return The sos.
     */
    @java.lang.Override
    public int getSos() {
      return sos_;
    }
    /**
     * <code>optional uint32 sos = 6;</code>
     * @param value The sos to set.
     */
    private void setSos(int value) {
      bitField0_ |= 0x00000020;
      sos_ = value;
    }
    /**
     * <code>optional uint32 sos = 6;</code>
     */
    private void clearSos() {
      bitField0_ = (bitField0_ & ~0x00000020);
      sos_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code group_ride_infor_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:group_ride_infor_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required uint32 member_id = 1;</code>
       * @return Whether the memberId field is set.
       */
      @java.lang.Override
      public boolean hasMemberId() {
        return instance.hasMemberId();
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @return The memberId.
       */
      @java.lang.Override
      public int getMemberId() {
        return instance.getMemberId();
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @param value The memberId to set.
       * @return This builder for chaining.
       */
      public Builder setMemberId(int value) {
        copyOnWrite();
        instance.setMemberId(value);
        return this;
      }
      /**
       * <code>required uint32 member_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMemberId() {
        copyOnWrite();
        instance.clearMemberId();
        return this;
      }

      /**
       * <code>optional .member_status status = 2;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return instance.hasStatus();
      }
      /**
       * <code>optional .member_status status = 2;</code>
       * @return The status.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status getStatus() {
        return instance.getStatus();
      }
      /**
       * <code>optional .member_status status = 2;</code>
       * @param value The enum numeric value on the wire for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status value) {
        copyOnWrite();
        instance.setStatus(value);
        return this;
      }
      /**
       * <code>optional .member_status status = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        copyOnWrite();
        instance.clearStatus();
        return this;
      }

      /**
       * <code>optional double latitude = 3;</code>
       * @return Whether the latitude field is set.
       */
      @java.lang.Override
      public boolean hasLatitude() {
        return instance.hasLatitude();
      }
      /**
       * <code>optional double latitude = 3;</code>
       * @return The latitude.
       */
      @java.lang.Override
      public double getLatitude() {
        return instance.getLatitude();
      }
      /**
       * <code>optional double latitude = 3;</code>
       * @param value The latitude to set.
       * @return This builder for chaining.
       */
      public Builder setLatitude(double value) {
        copyOnWrite();
        instance.setLatitude(value);
        return this;
      }
      /**
       * <code>optional double latitude = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearLatitude() {
        copyOnWrite();
        instance.clearLatitude();
        return this;
      }

      /**
       * <code>optional double longitude = 4;</code>
       * @return Whether the longitude field is set.
       */
      @java.lang.Override
      public boolean hasLongitude() {
        return instance.hasLongitude();
      }
      /**
       * <code>optional double longitude = 4;</code>
       * @return The longitude.
       */
      @java.lang.Override
      public double getLongitude() {
        return instance.getLongitude();
      }
      /**
       * <code>optional double longitude = 4;</code>
       * @param value The longitude to set.
       * @return This builder for chaining.
       */
      public Builder setLongitude(double value) {
        copyOnWrite();
        instance.setLongitude(value);
        return this;
      }
      /**
       * <code>optional double longitude = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLongitude() {
        copyOnWrite();
        instance.clearLongitude();
        return this;
      }

      /**
       * <code>optional uint32 stright_line_distance = 5;</code>
       * @return Whether the strightLineDistance field is set.
       */
      @java.lang.Override
      public boolean hasStrightLineDistance() {
        return instance.hasStrightLineDistance();
      }
      /**
       * <code>optional uint32 stright_line_distance = 5;</code>
       * @return The strightLineDistance.
       */
      @java.lang.Override
      public int getStrightLineDistance() {
        return instance.getStrightLineDistance();
      }
      /**
       * <code>optional uint32 stright_line_distance = 5;</code>
       * @param value The strightLineDistance to set.
       * @return This builder for chaining.
       */
      public Builder setStrightLineDistance(int value) {
        copyOnWrite();
        instance.setStrightLineDistance(value);
        return this;
      }
      /**
       * <code>optional uint32 stright_line_distance = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearStrightLineDistance() {
        copyOnWrite();
        instance.clearStrightLineDistance();
        return this;
      }

      /**
       * <code>optional uint32 sos = 6;</code>
       * @return Whether the sos field is set.
       */
      @java.lang.Override
      public boolean hasSos() {
        return instance.hasSos();
      }
      /**
       * <code>optional uint32 sos = 6;</code>
       * @return The sos.
       */
      @java.lang.Override
      public int getSos() {
        return instance.getSos();
      }
      /**
       * <code>optional uint32 sos = 6;</code>
       * @param value The sos to set.
       * @return This builder for chaining.
       */
      public Builder setSos(int value) {
        copyOnWrite();
        instance.setSos(value);
        return this;
      }
      /**
       * <code>optional uint32 sos = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearSos() {
        copyOnWrite();
        instance.clearSos();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:group_ride_infor_msg)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "memberId_",
              "status_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.member_status.internalGetVerifier(),
              "latitude_",
              "longitude_",
              "strightLineDistance_",
              "sos_",
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0000\u0001\u0001\u150b\u0000\u0002" +
                "\u100c\u0001\u0003\u1000\u0002\u0004\u1000\u0003\u0005\u100b\u0004\u0006\u100b\u0005" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:group_ride_infor_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg DEFAULT_INSTANCE;
    static {
      group_ride_infor_msg defaultInstance = new group_ride_infor_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        group_ride_infor_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<group_ride_infor_msg> PARSER;

    public static com.google.protobuf.Parser<group_ride_infor_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface group_ride_ctrl_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:group_ride_ctrl_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     * @return Whether the groupRideId field is set.
     */
    boolean hasGroupRideId();
    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     * @return The groupRideId.
     */
    int getGroupRideId();

    /**
     * <code>optional uint32 status = 2;</code>
     * @return Whether the status field is set.
     */
    boolean hasStatus();
    /**
     * <code>optional uint32 status = 2;</code>
     * @return The status.
     */
    int getStatus();

    /**
     * <code>optional .exit_reason reason = 3;</code>
     * @return Whether the reason field is set.
     */
    boolean hasReason();
    /**
     * <code>optional .exit_reason reason = 3;</code>
     * @return The reason.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason getReason();

    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return Whether the groupRideCode field is set.
     */
    boolean hasGroupRideCode();
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return The groupRideCode.
     */
    java.lang.String getGroupRideCode();
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return The bytes for groupRideCode.
     */
    com.google.protobuf.ByteString
        getGroupRideCodeBytes();
  }
  /**
   * Protobuf type {@code group_ride_ctrl_msg}
   */
  public  static final class group_ride_ctrl_msg extends
      com.google.protobuf.GeneratedMessageLite<
          group_ride_ctrl_msg, group_ride_ctrl_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:group_ride_ctrl_msg)
      group_ride_ctrl_msgOrBuilder {
    private group_ride_ctrl_msg() {
      groupRideCode_ = "";
    }
    private int bitField0_;
    public static final int GROUP_RIDE_ID_FIELD_NUMBER = 1;
    private int groupRideId_;
    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     * @return Whether the groupRideId field is set.
     */
    @java.lang.Override
    public boolean hasGroupRideId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     * @return The groupRideId.
     */
    @java.lang.Override
    public int getGroupRideId() {
      return groupRideId_;
    }
    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     * @param value The groupRideId to set.
     */
    private void setGroupRideId(int value) {
      bitField0_ |= 0x00000001;
      groupRideId_ = value;
    }
    /**
     * <code>optional uint32 group_ride_id = 1;</code>
     */
    private void clearGroupRideId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      groupRideId_ = 0;
    }

    public static final int STATUS_FIELD_NUMBER = 2;
    private int status_;
    /**
     * <code>optional uint32 status = 2;</code>
     * @return Whether the status field is set.
     */
    @java.lang.Override
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 status = 2;</code>
     * @return The status.
     */
    @java.lang.Override
    public int getStatus() {
      return status_;
    }
    /**
     * <code>optional uint32 status = 2;</code>
     * @param value The status to set.
     */
    private void setStatus(int value) {
      bitField0_ |= 0x00000002;
      status_ = value;
    }
    /**
     * <code>optional uint32 status = 2;</code>
     */
    private void clearStatus() {
      bitField0_ = (bitField0_ & ~0x00000002);
      status_ = 0;
    }

    public static final int REASON_FIELD_NUMBER = 3;
    private int reason_;
    /**
     * <code>optional .exit_reason reason = 3;</code>
     * @return Whether the reason field is set.
     */
    @java.lang.Override
    public boolean hasReason() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .exit_reason reason = 3;</code>
     * @return The reason.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason getReason() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason.forNumber(reason_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason.enum_INVALID_REASON : result;
    }
    /**
     * <code>optional .exit_reason reason = 3;</code>
     * @param value The reason to set.
     */
    private void setReason(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason value) {
      reason_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .exit_reason reason = 3;</code>
     */
    private void clearReason() {
      bitField0_ = (bitField0_ & ~0x00000004);
      reason_ = 0;
    }

    public static final int GROUP_RIDE_CODE_FIELD_NUMBER = 4;
    private java.lang.String groupRideCode_;
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return Whether the groupRideCode field is set.
     */
    @java.lang.Override
    public boolean hasGroupRideCode() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return The groupRideCode.
     */
    @java.lang.Override
    public java.lang.String getGroupRideCode() {
      return groupRideCode_;
    }
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @return The bytes for groupRideCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getGroupRideCodeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(groupRideCode_);
    }
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @param value The groupRideCode to set.
     */
    private void setGroupRideCode(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000008;
      groupRideCode_ = value;
    }
    /**
     * <code>optional string group_ride_code = 4;</code>
     */
    private void clearGroupRideCode() {
      bitField0_ = (bitField0_ & ~0x00000008);
      groupRideCode_ = getDefaultInstance().getGroupRideCode();
    }
    /**
     * <code>optional string group_ride_code = 4;</code>
     * @param value The bytes for groupRideCode to set.
     */
    private void setGroupRideCodeBytes(
        com.google.protobuf.ByteString value) {
      groupRideCode_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code group_ride_ctrl_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:group_ride_ctrl_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional uint32 group_ride_id = 1;</code>
       * @return Whether the groupRideId field is set.
       */
      @java.lang.Override
      public boolean hasGroupRideId() {
        return instance.hasGroupRideId();
      }
      /**
       * <code>optional uint32 group_ride_id = 1;</code>
       * @return The groupRideId.
       */
      @java.lang.Override
      public int getGroupRideId() {
        return instance.getGroupRideId();
      }
      /**
       * <code>optional uint32 group_ride_id = 1;</code>
       * @param value The groupRideId to set.
       * @return This builder for chaining.
       */
      public Builder setGroupRideId(int value) {
        copyOnWrite();
        instance.setGroupRideId(value);
        return this;
      }
      /**
       * <code>optional uint32 group_ride_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearGroupRideId() {
        copyOnWrite();
        instance.clearGroupRideId();
        return this;
      }

      /**
       * <code>optional uint32 status = 2;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return instance.hasStatus();
      }
      /**
       * <code>optional uint32 status = 2;</code>
       * @return The status.
       */
      @java.lang.Override
      public int getStatus() {
        return instance.getStatus();
      }
      /**
       * <code>optional uint32 status = 2;</code>
       * @param value The status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(int value) {
        copyOnWrite();
        instance.setStatus(value);
        return this;
      }
      /**
       * <code>optional uint32 status = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        copyOnWrite();
        instance.clearStatus();
        return this;
      }

      /**
       * <code>optional .exit_reason reason = 3;</code>
       * @return Whether the reason field is set.
       */
      @java.lang.Override
      public boolean hasReason() {
        return instance.hasReason();
      }
      /**
       * <code>optional .exit_reason reason = 3;</code>
       * @return The reason.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason getReason() {
        return instance.getReason();
      }
      /**
       * <code>optional .exit_reason reason = 3;</code>
       * @param value The enum numeric value on the wire for reason to set.
       * @return This builder for chaining.
       */
      public Builder setReason(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason value) {
        copyOnWrite();
        instance.setReason(value);
        return this;
      }
      /**
       * <code>optional .exit_reason reason = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearReason() {
        copyOnWrite();
        instance.clearReason();
        return this;
      }

      /**
       * <code>optional string group_ride_code = 4;</code>
       * @return Whether the groupRideCode field is set.
       */
      @java.lang.Override
      public boolean hasGroupRideCode() {
        return instance.hasGroupRideCode();
      }
      /**
       * <code>optional string group_ride_code = 4;</code>
       * @return The groupRideCode.
       */
      @java.lang.Override
      public java.lang.String getGroupRideCode() {
        return instance.getGroupRideCode();
      }
      /**
       * <code>optional string group_ride_code = 4;</code>
       * @return The bytes for groupRideCode.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGroupRideCodeBytes() {
        return instance.getGroupRideCodeBytes();
      }
      /**
       * <code>optional string group_ride_code = 4;</code>
       * @param value The groupRideCode to set.
       * @return This builder for chaining.
       */
      public Builder setGroupRideCode(
          java.lang.String value) {
        copyOnWrite();
        instance.setGroupRideCode(value);
        return this;
      }
      /**
       * <code>optional string group_ride_code = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearGroupRideCode() {
        copyOnWrite();
        instance.clearGroupRideCode();
        return this;
      }
      /**
       * <code>optional string group_ride_code = 4;</code>
       * @param value The bytes for groupRideCode to set.
       * @return This builder for chaining.
       */
      public Builder setGroupRideCodeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setGroupRideCodeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:group_ride_ctrl_msg)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "groupRideId_",
              "status_",
              "reason_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.exit_reason.internalGetVerifier(),
              "groupRideCode_",
            };
            java.lang.String info =
                "\u0001\u0004\u0000\u0001\u0001\u0004\u0004\u0000\u0000\u0000\u0001\u100b\u0000\u0002" +
                "\u100b\u0001\u0003\u100c\u0002\u0004\u1008\u0003";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:group_ride_ctrl_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg DEFAULT_INSTANCE;
    static {
      group_ride_ctrl_msg defaultInstance = new group_ride_ctrl_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        group_ride_ctrl_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<group_ride_ctrl_msg> PARSER;

    public static com.google.protobuf.Parser<group_ride_ctrl_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface group_ride_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:group_ride_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     * @return The serviceType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType();

    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    boolean hasOperateType();
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType();

    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     * @return Whether the msgType field is set.
     */
    boolean hasMsgType();
    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     * @return The msgType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type getMsgType();

    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     * @return Whether the onlineStatus field is set.
     */
    boolean hasOnlineStatus();
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     * @return The onlineStatus.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg getOnlineStatus();

    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> 
        getPersonalInforList();
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg getPersonalInfor(int index);
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    int getPersonalInforCount();

    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> 
        getRideInforList();
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg getRideInfor(int index);
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    int getRideInforCount();

    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     * @return Whether the ctrl field is set.
     */
    boolean hasCtrl();
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     * @return The ctrl.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg getCtrl();
  }
  /**
   * Protobuf type {@code group_ride_message}
   */
  public  static final class group_ride_message extends
      com.google.protobuf.GeneratedMessageLite<
          group_ride_message, group_ride_message.Builder> implements
      // @@protoc_insertion_point(message_implements:group_ride_message)
      group_ride_messageOrBuilder {
    private group_ride_message() {
      serviceType_ = 27;
      personalInfor_ = emptyProtobufList();
      rideInfor_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int SERVICE_TYPE_FIELD_NUMBER = 1;
    private int serviceType_;
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     * @return Whether the serviceType field is set.
     */
    @java.lang.Override
    public boolean hasServiceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     * @return The serviceType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(serviceType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_GROUP_RIDE : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     * @param value The serviceType to set.
     */
    private void setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      serviceType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 27;
    }

    public static final int OPERATE_TYPE_FIELD_NUMBER = 2;
    private int operateType_;
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    @java.lang.Override
    public boolean hasOperateType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.forNumber(operateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.enum_SERVICE_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @param value The operateType to set.
     */
    private void setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
      operateType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     */
    private void clearOperateType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      operateType_ = 0;
    }

    public static final int MSG_TYPE_FIELD_NUMBER = 3;
    private int msgType_;
    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     * @return Whether the msgType field is set.
     */
    @java.lang.Override
    public boolean hasMsgType() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     * @return The msgType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type getMsgType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type.forNumber(msgType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type.enum_INVALID_TYPE : result;
    }
    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     * @param value The msgType to set.
     */
    private void setMsgType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type value) {
      msgType_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>required .group_ride_msg_type msg_type = 3;</code>
     */
    private void clearMsgType() {
      bitField0_ = (bitField0_ & ~0x00000004);
      msgType_ = 0;
    }

    public static final int ONLINE_STATUS_FIELD_NUMBER = 4;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg onlineStatus_;
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     */
    @java.lang.Override
    public boolean hasOnlineStatus() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg getOnlineStatus() {
      return onlineStatus_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.getDefaultInstance() : onlineStatus_;
    }
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     */
    private void setOnlineStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg value) {
      value.getClass();
  onlineStatus_ = value;
      bitField0_ |= 0x00000008;
      }
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeOnlineStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg value) {
      value.getClass();
  if (onlineStatus_ != null &&
          onlineStatus_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.getDefaultInstance()) {
        onlineStatus_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.newBuilder(onlineStatus_).mergeFrom(value).buildPartial();
      } else {
        onlineStatus_ = value;
      }
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .online_status_msg online_status = 4;</code>
     */
    private void clearOnlineStatus() {  onlineStatus_ = null;
      bitField0_ = (bitField0_ & ~0x00000008);
    }

    public static final int PERSONAL_INFOR_FIELD_NUMBER = 5;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> personalInfor_;
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> getPersonalInforList() {
      return personalInfor_;
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msgOrBuilder> 
        getPersonalInforOrBuilderList() {
      return personalInfor_;
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    @java.lang.Override
    public int getPersonalInforCount() {
      return personalInfor_.size();
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg getPersonalInfor(int index) {
      return personalInfor_.get(index);
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msgOrBuilder getPersonalInforOrBuilder(
        int index) {
      return personalInfor_.get(index);
    }
    private void ensurePersonalInforIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> tmp = personalInfor_;
      if (!tmp.isModifiable()) {
        personalInfor_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void setPersonalInfor(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
      value.getClass();
  ensurePersonalInforIsMutable();
      personalInfor_.set(index, value);
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void addPersonalInfor(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
      value.getClass();
  ensurePersonalInforIsMutable();
      personalInfor_.add(value);
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void addPersonalInfor(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
      value.getClass();
  ensurePersonalInforIsMutable();
      personalInfor_.add(index, value);
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void addAllPersonalInfor(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> values) {
      ensurePersonalInforIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, personalInfor_);
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void clearPersonalInfor() {
      personalInfor_ = emptyProtobufList();
    }
    /**
     * <code>repeated .personal_infor_msg personal_infor = 5;</code>
     */
    private void removePersonalInfor(int index) {
      ensurePersonalInforIsMutable();
      personalInfor_.remove(index);
    }

    public static final int RIDE_INFOR_FIELD_NUMBER = 6;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> rideInfor_;
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> getRideInforList() {
      return rideInfor_;
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msgOrBuilder> 
        getRideInforOrBuilderList() {
      return rideInfor_;
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    @java.lang.Override
    public int getRideInforCount() {
      return rideInfor_.size();
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg getRideInfor(int index) {
      return rideInfor_.get(index);
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msgOrBuilder getRideInforOrBuilder(
        int index) {
      return rideInfor_.get(index);
    }
    private void ensureRideInforIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> tmp = rideInfor_;
      if (!tmp.isModifiable()) {
        rideInfor_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void setRideInfor(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
      value.getClass();
  ensureRideInforIsMutable();
      rideInfor_.set(index, value);
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void addRideInfor(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
      value.getClass();
  ensureRideInforIsMutable();
      rideInfor_.add(value);
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void addRideInfor(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
      value.getClass();
  ensureRideInforIsMutable();
      rideInfor_.add(index, value);
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void addAllRideInfor(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> values) {
      ensureRideInforIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, rideInfor_);
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void clearRideInfor() {
      rideInfor_ = emptyProtobufList();
    }
    /**
     * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
     */
    private void removeRideInfor(int index) {
      ensureRideInforIsMutable();
      rideInfor_.remove(index);
    }

    public static final int CTRL_FIELD_NUMBER = 7;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg ctrl_;
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     */
    @java.lang.Override
    public boolean hasCtrl() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg getCtrl() {
      return ctrl_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.getDefaultInstance() : ctrl_;
    }
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     */
    private void setCtrl(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg value) {
      value.getClass();
  ctrl_ = value;
      bitField0_ |= 0x00000010;
      }
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCtrl(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg value) {
      value.getClass();
  if (ctrl_ != null &&
          ctrl_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.getDefaultInstance()) {
        ctrl_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.newBuilder(ctrl_).mergeFrom(value).buildPartial();
      } else {
        ctrl_ = value;
      }
      bitField0_ |= 0x00000010;
    }
    /**
     * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
     */
    private void clearCtrl() {  ctrl_ = null;
      bitField0_ = (bitField0_ & ~0x00000010);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code group_ride_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:group_ride_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
       * @return Whether the serviceType field is set.
       */
      @java.lang.Override
      public boolean hasServiceType() {
        return instance.hasServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
       * @return The serviceType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
        return instance.getServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
       * @param value The enum numeric value on the wire for serviceType to set.
       * @return This builder for chaining.
       */
      public Builder setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setServiceType(value);
        return this;
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_GROUP_RIDE];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return Whether the operateType field is set.
       */
      @java.lang.Override
      public boolean hasOperateType() {
        return instance.hasOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return The operateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
        return instance.getOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for operateType to set.
       * @return This builder for chaining.
       */
      public Builder setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setOperateType(value);
        return this;
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearOperateType() {
        copyOnWrite();
        instance.clearOperateType();
        return this;
      }

      /**
       * <code>required .group_ride_msg_type msg_type = 3;</code>
       * @return Whether the msgType field is set.
       */
      @java.lang.Override
      public boolean hasMsgType() {
        return instance.hasMsgType();
      }
      /**
       * <code>required .group_ride_msg_type msg_type = 3;</code>
       * @return The msgType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type getMsgType() {
        return instance.getMsgType();
      }
      /**
       * <code>required .group_ride_msg_type msg_type = 3;</code>
       * @param value The enum numeric value on the wire for msgType to set.
       * @return This builder for chaining.
       */
      public Builder setMsgType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type value) {
        copyOnWrite();
        instance.setMsgType(value);
        return this;
      }
      /**
       * <code>required .group_ride_msg_type msg_type = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMsgType() {
        copyOnWrite();
        instance.clearMsgType();
        return this;
      }

      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      @java.lang.Override
      public boolean hasOnlineStatus() {
        return instance.hasOnlineStatus();
      }
      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg getOnlineStatus() {
        return instance.getOnlineStatus();
      }
      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      public Builder setOnlineStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg value) {
        copyOnWrite();
        instance.setOnlineStatus(value);
        return this;
        }
      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      public Builder setOnlineStatus(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setOnlineStatus(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      public Builder mergeOnlineStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.online_status_msg value) {
        copyOnWrite();
        instance.mergeOnlineStatus(value);
        return this;
      }
      /**
       * <code>optional .online_status_msg online_status = 4;</code>
       */
      public Builder clearOnlineStatus() {  copyOnWrite();
        instance.clearOnlineStatus();
        return this;
      }

      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> getPersonalInforList() {
        return java.util.Collections.unmodifiableList(
            instance.getPersonalInforList());
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      @java.lang.Override
      public int getPersonalInforCount() {
        return instance.getPersonalInforCount();
      }/**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg getPersonalInfor(int index) {
        return instance.getPersonalInfor(index);
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder setPersonalInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
        copyOnWrite();
        instance.setPersonalInfor(index, value);
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder setPersonalInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setPersonalInfor(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder addPersonalInfor(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
        copyOnWrite();
        instance.addPersonalInfor(value);
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder addPersonalInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg value) {
        copyOnWrite();
        instance.addPersonalInfor(index, value);
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder addPersonalInfor(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addPersonalInfor(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder addPersonalInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addPersonalInfor(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder addAllPersonalInfor(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg> values) {
        copyOnWrite();
        instance.addAllPersonalInfor(values);
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder clearPersonalInfor() {
        copyOnWrite();
        instance.clearPersonalInfor();
        return this;
      }
      /**
       * <code>repeated .personal_infor_msg personal_infor = 5;</code>
       */
      public Builder removePersonalInfor(int index) {
        copyOnWrite();
        instance.removePersonalInfor(index);
        return this;
      }

      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> getRideInforList() {
        return java.util.Collections.unmodifiableList(
            instance.getRideInforList());
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      @java.lang.Override
      public int getRideInforCount() {
        return instance.getRideInforCount();
      }/**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg getRideInfor(int index) {
        return instance.getRideInfor(index);
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder setRideInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
        copyOnWrite();
        instance.setRideInfor(index, value);
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder setRideInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setRideInfor(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder addRideInfor(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
        copyOnWrite();
        instance.addRideInfor(value);
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder addRideInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg value) {
        copyOnWrite();
        instance.addRideInfor(index, value);
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder addRideInfor(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addRideInfor(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder addRideInfor(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addRideInfor(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder addAllRideInfor(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg> values) {
        copyOnWrite();
        instance.addAllRideInfor(values);
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder clearRideInfor() {
        copyOnWrite();
        instance.clearRideInfor();
        return this;
      }
      /**
       * <code>repeated .group_ride_infor_msg ride_infor = 6;</code>
       */
      public Builder removeRideInfor(int index) {
        copyOnWrite();
        instance.removeRideInfor(index);
        return this;
      }

      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      @java.lang.Override
      public boolean hasCtrl() {
        return instance.hasCtrl();
      }
      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg getCtrl() {
        return instance.getCtrl();
      }
      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      public Builder setCtrl(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg value) {
        copyOnWrite();
        instance.setCtrl(value);
        return this;
        }
      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      public Builder setCtrl(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setCtrl(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      public Builder mergeCtrl(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_ctrl_msg value) {
        copyOnWrite();
        instance.mergeCtrl(value);
        return this;
      }
      /**
       * <code>optional .group_ride_ctrl_msg ctrl = 7;</code>
       */
      public Builder clearCtrl() {  copyOnWrite();
        instance.clearCtrl();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:group_ride_message)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "serviceType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "operateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.internalGetVerifier(),
              "msgType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_msg_type.internalGetVerifier(),
              "onlineStatus_",
              "personalInfor_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.personal_infor_msg.class,
              "rideInfor_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_infor_msg.class,
              "ctrl_",
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0002\u0006\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u150c\u0002\u0004\u1409\u0003\u0005\u041b\u0006\u041b\u0007\u1009" +
                "\u0004";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:group_ride_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message DEFAULT_INSTANCE;
    static {
      group_ride_message defaultInstance = new group_ride_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        group_ride_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.GroupRide.group_ride_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<group_ride_message> PARSER;

    public static com.google.protobuf.Parser<group_ride_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
