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

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class LanguagePack {
  private LanguagePack() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code LANGUAGE_PACK_SUB_OPERATE_TYPE}
   */
  public enum LANGUAGE_PACK_SUB_OPERATE_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_INVALID = 0;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_INVALID(0),
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_SET_DOWNLOAD_URL = 1;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_SET_DOWNLOAD_URL(1),
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_GET_MODULE_INFO = 16;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_GET_MODULE_INFO(16),
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_GET_LIST = 17;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_GET_LIST(17),
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_ADD_PACK = 32;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_ADD_PACK(32),
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_DEL_PACK = 48;</code>
     */
    enum_LANG_SUB_OPERATE_TYPE_DEL_PACK(48),
    ;

    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_INVALID = 0;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_INVALID_VALUE = 0;
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_SET_DOWNLOAD_URL = 1;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_SET_DOWNLOAD_URL_VALUE = 1;
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_GET_MODULE_INFO = 16;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_GET_MODULE_INFO_VALUE = 16;
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_GET_LIST = 17;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_GET_LIST_VALUE = 17;
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_ADD_PACK = 32;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_ADD_PACK_VALUE = 32;
    /**
     * <code>enum_LANG_SUB_OPERATE_TYPE_DEL_PACK = 48;</code>
     */
    public static final int enum_LANG_SUB_OPERATE_TYPE_DEL_PACK_VALUE = 48;


    @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 LANGUAGE_PACK_SUB_OPERATE_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static LANGUAGE_PACK_SUB_OPERATE_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_LANG_SUB_OPERATE_TYPE_INVALID;
        case 1: return enum_LANG_SUB_OPERATE_TYPE_SET_DOWNLOAD_URL;
        case 16: return enum_LANG_SUB_OPERATE_TYPE_GET_MODULE_INFO;
        case 17: return enum_LANG_SUB_OPERATE_TYPE_GET_LIST;
        case 32: return enum_LANG_SUB_OPERATE_TYPE_ADD_PACK;
        case 48: return enum_LANG_SUB_OPERATE_TYPE_DEL_PACK;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:LANGUAGE_PACK_SUB_OPERATE_TYPE)
  }

  /**
   * Protobuf enum {@code LANGUAGE_PACK_FONT_TYPE}
   */
  public enum LANGUAGE_PACK_FONT_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_LANGUAGE_PACK_FONT_TYPE_INVALID = 0;</code>
     */
    enum_LANGUAGE_PACK_FONT_TYPE_INVALID(0),
    /**
     * <code>enum_DianDian = 1;</code>
     */
    enum_DianDian(1),
    ;

    /**
     * <code>enum_LANGUAGE_PACK_FONT_TYPE_INVALID = 0;</code>
     */
    public static final int enum_LANGUAGE_PACK_FONT_TYPE_INVALID_VALUE = 0;
    /**
     * <code>enum_DianDian = 1;</code>
     */
    public static final int enum_DianDian_VALUE = 1;


    @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 LANGUAGE_PACK_FONT_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static LANGUAGE_PACK_FONT_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_LANGUAGE_PACK_FONT_TYPE_INVALID;
        case 1: return enum_DianDian;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:LANGUAGE_PACK_FONT_TYPE)
  }

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

    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @return A list containing the supportCmd.
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> getSupportCmdList();
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @return The count of supportCmd.
     */
    int getSupportCmdCount();
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @param index The index of the element to return.
     * @return The supportCmd at the given index.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getSupportCmd(int index);

    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     * @return Whether the languagePackModuleVersion field is set.
     */
    boolean hasLanguagePackModuleVersion();
    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     * @return The languagePackModuleVersion.
     */
    int getLanguagePackModuleVersion();
  }
  /**
   * Protobuf type {@code language_pack_module_info_msg}
   */
  public  static final class language_pack_module_info_msg extends
      com.google.protobuf.GeneratedMessageLite<
          language_pack_module_info_msg, language_pack_module_info_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:language_pack_module_info_msg)
      language_pack_module_info_msgOrBuilder {
    private language_pack_module_info_msg() {
      supportCmd_ = emptyIntList();
      languagePackModuleVersion_ = 100;
    }
    private int bitField0_;
    public static final int SUPPORT_CMD_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.IntList supportCmd_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> supportCmd_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE>() {
              @java.lang.Override
              public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE convert(java.lang.Integer from) {
                nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.forNumber(from);
                return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.enum_LANG_SUB_OPERATE_TYPE_INVALID : result;
              }
            };
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @return A list containing the supportCmd.
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> getSupportCmdList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE>(supportCmd_, supportCmd_converter_);
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @return The count of supportCmd.
     */
    @java.lang.Override
    public int getSupportCmdCount() {
      return supportCmd_.size();
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @param index The index of the element to return.
     * @return The supportCmd at the given index.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getSupportCmd(int index) {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.forNumber(supportCmd_.getInt(index));
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.enum_LANG_SUB_OPERATE_TYPE_INVALID : result;
    }
    private void ensureSupportCmdIsMutable() {
      com.google.protobuf.Internal.IntList tmp = supportCmd_;
      if (!tmp.isModifiable()) {
        supportCmd_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
      }
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @param index The index to set the value at.
     * @param value The supportCmd to set.
     */
    private void setSupportCmd(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
      value.getClass();
  ensureSupportCmdIsMutable();
      supportCmd_.setInt(index, value.getNumber());
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @param value The supportCmd to add.
     */
    private void addSupportCmd(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
      value.getClass();
  ensureSupportCmdIsMutable();
      supportCmd_.addInt(value.getNumber());
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     * @param values The supportCmd to add.
     */
    private void addAllSupportCmd(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> values) {
      ensureSupportCmdIsMutable();
      for (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value : values) {
        supportCmd_.addInt(value.getNumber());
      }
    }
    /**
     * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
     */
    private void clearSupportCmd() {
      supportCmd_ = emptyIntList();
    }

    public static final int LANGUAGE_PACK_MODULE_VERSION_FIELD_NUMBER = 2;
    private int languagePackModuleVersion_;
    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     * @return Whether the languagePackModuleVersion field is set.
     */
    @java.lang.Override
    public boolean hasLanguagePackModuleVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     * @return The languagePackModuleVersion.
     */
    @java.lang.Override
    public int getLanguagePackModuleVersion() {
      return languagePackModuleVersion_;
    }
    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     * @param value The languagePackModuleVersion to set.
     */
    private void setLanguagePackModuleVersion(int value) {
      bitField0_ |= 0x00000001;
      languagePackModuleVersion_ = value;
    }
    /**
     * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
     */
    private void clearLanguagePackModuleVersion() {
      bitField0_ = (bitField0_ & ~0x00000001);
      languagePackModuleVersion_ = 100;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_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.LanguagePack.language_pack_module_info_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

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


      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @return A list containing the supportCmd.
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> getSupportCmdList() {
        return instance.getSupportCmdList();
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @return The count of supportCmd.
       */
      @java.lang.Override
      public int getSupportCmdCount() {
        return instance.getSupportCmdCount();
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @param index The index of the element to return.
       * @return The supportCmd at the given index.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getSupportCmd(int index) {
        return instance.getSupportCmd(index);
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @param index The index to set the value at.
       * @param value The supportCmd to set.
       * @return This builder for chaining.
       */
      public Builder setSupportCmd(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setSupportCmd(index, value);
        return this;
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @param value The supportCmd to add.
       * @return This builder for chaining.
       */
      public Builder addSupportCmd(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
        copyOnWrite();
        instance.addSupportCmd(value);
        return this;
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @param values The supportCmd to add.
       * @return This builder for chaining.
       */
      public Builder addAllSupportCmd(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE> values) {
        copyOnWrite();
        instance.addAllSupportCmd(values);  return this;
      }
      /**
       * <code>repeated .LANGUAGE_PACK_SUB_OPERATE_TYPE support_cmd = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSupportCmd() {
        copyOnWrite();
        instance.clearSupportCmd();
        return this;
      }

      /**
       * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
       * @return Whether the languagePackModuleVersion field is set.
       */
      @java.lang.Override
      public boolean hasLanguagePackModuleVersion() {
        return instance.hasLanguagePackModuleVersion();
      }
      /**
       * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
       * @return The languagePackModuleVersion.
       */
      @java.lang.Override
      public int getLanguagePackModuleVersion() {
        return instance.getLanguagePackModuleVersion();
      }
      /**
       * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
       * @param value The languagePackModuleVersion to set.
       * @return This builder for chaining.
       */
      public Builder setLanguagePackModuleVersion(int value) {
        copyOnWrite();
        instance.setLanguagePackModuleVersion(value);
        return this;
      }
      /**
       * <code>optional uint32 language_pack_module_version = 2 [default = 100];</code>
       * @return This builder for chaining.
       */
      public Builder clearLanguagePackModuleVersion() {
        copyOnWrite();
        instance.clearLanguagePackModuleVersion();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:language_pack_module_info_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.LanguagePack.language_pack_module_info_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "supportCmd_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.internalGetVerifier(),
              "languagePackModuleVersion_",
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0001\u0000\u0001\u001e\u0002\u100b" +
                "\u0000";
            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.LanguagePack.language_pack_module_info_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_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:language_pack_module_info_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg DEFAULT_INSTANCE;
    static {
      language_pack_module_info_msg defaultInstance = new language_pack_module_info_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        language_pack_module_info_msg.class, defaultInstance);
    }

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

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

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

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

    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     * @return Whether the languageType field is set.
     */
    boolean hasLanguageType();
    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     * @return The languageType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE getLanguageType();

    /**
     * <code>optional uint32 language_versin = 2;</code>
     * @return Whether the languageVersin field is set.
     */
    boolean hasLanguageVersin();
    /**
     * <code>optional uint32 language_versin = 2;</code>
     * @return The languageVersin.
     */
    int getLanguageVersin();

    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     * @return Whether the fontType field is set.
     */
    boolean hasFontType();
    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     * @return The fontType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE getFontType();

    /**
     * <code>optional uint32 font_size = 4;</code>
     * @return Whether the fontSize field is set.
     */
    boolean hasFontSize();
    /**
     * <code>optional uint32 font_size = 4;</code>
     * @return The fontSize.
     */
    int getFontSize();

    /**
     * <code>optional uint32 pack_size = 5;</code>
     * @return Whether the packSize field is set.
     */
    boolean hasPackSize();
    /**
     * <code>optional uint32 pack_size = 5;</code>
     * @return The packSize.
     */
    int getPackSize();

    /**
     * <code>optional string url = 6;</code>
     * @return Whether the url field is set.
     */
    boolean hasUrl();
    /**
     * <code>optional string url = 6;</code>
     * @return The url.
     */
    java.lang.String getUrl();
    /**
     * <code>optional string url = 6;</code>
     * @return The bytes for url.
     */
    com.google.protobuf.ByteString
        getUrlBytes();

    /**
     * <code>optional bytes md5_code = 7;</code>
     * @return Whether the md5Code field is set.
     */
    boolean hasMd5Code();
    /**
     * <code>optional bytes md5_code = 7;</code>
     * @return The md5Code.
     */
    com.google.protobuf.ByteString getMd5Code();
  }
  /**
   * Protobuf type {@code language_pack_info_msg}
   */
  public  static final class language_pack_info_msg extends
      com.google.protobuf.GeneratedMessageLite<
          language_pack_info_msg, language_pack_info_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:language_pack_info_msg)
      language_pack_info_msgOrBuilder {
    private language_pack_info_msg() {
      url_ = "";
      md5Code_ = com.google.protobuf.ByteString.EMPTY;
    }
    private int bitField0_;
    public static final int LANGUAGE_TYPE_FIELD_NUMBER = 1;
    private int languageType_;
    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     * @return Whether the languageType field is set.
     */
    @java.lang.Override
    public boolean hasLanguageType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     * @return The languageType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE getLanguageType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE.forNumber(languageType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE.enum_LANGUAGE_TYPE_INVALID : result;
    }
    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     * @param value The languageType to set.
     */
    private void setLanguageType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE value) {
      languageType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
     */
    private void clearLanguageType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      languageType_ = 0;
    }

    public static final int LANGUAGE_VERSIN_FIELD_NUMBER = 2;
    private int languageVersin_;
    /**
     * <code>optional uint32 language_versin = 2;</code>
     * @return Whether the languageVersin field is set.
     */
    @java.lang.Override
    public boolean hasLanguageVersin() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 language_versin = 2;</code>
     * @return The languageVersin.
     */
    @java.lang.Override
    public int getLanguageVersin() {
      return languageVersin_;
    }
    /**
     * <code>optional uint32 language_versin = 2;</code>
     * @param value The languageVersin to set.
     */
    private void setLanguageVersin(int value) {
      bitField0_ |= 0x00000002;
      languageVersin_ = value;
    }
    /**
     * <code>optional uint32 language_versin = 2;</code>
     */
    private void clearLanguageVersin() {
      bitField0_ = (bitField0_ & ~0x00000002);
      languageVersin_ = 0;
    }

    public static final int FONT_TYPE_FIELD_NUMBER = 3;
    private int fontType_;
    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     * @return Whether the fontType field is set.
     */
    @java.lang.Override
    public boolean hasFontType() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     * @return The fontType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE getFontType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE.forNumber(fontType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE.enum_LANGUAGE_PACK_FONT_TYPE_INVALID : result;
    }
    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     * @param value The fontType to set.
     */
    private void setFontType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE value) {
      fontType_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
     */
    private void clearFontType() {
      bitField0_ = (bitField0_ & ~0x00000004);
      fontType_ = 0;
    }

    public static final int FONT_SIZE_FIELD_NUMBER = 4;
    private int fontSize_;
    /**
     * <code>optional uint32 font_size = 4;</code>
     * @return Whether the fontSize field is set.
     */
    @java.lang.Override
    public boolean hasFontSize() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional uint32 font_size = 4;</code>
     * @return The fontSize.
     */
    @java.lang.Override
    public int getFontSize() {
      return fontSize_;
    }
    /**
     * <code>optional uint32 font_size = 4;</code>
     * @param value The fontSize to set.
     */
    private void setFontSize(int value) {
      bitField0_ |= 0x00000008;
      fontSize_ = value;
    }
    /**
     * <code>optional uint32 font_size = 4;</code>
     */
    private void clearFontSize() {
      bitField0_ = (bitField0_ & ~0x00000008);
      fontSize_ = 0;
    }

    public static final int PACK_SIZE_FIELD_NUMBER = 5;
    private int packSize_;
    /**
     * <code>optional uint32 pack_size = 5;</code>
     * @return Whether the packSize field is set.
     */
    @java.lang.Override
    public boolean hasPackSize() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 pack_size = 5;</code>
     * @return The packSize.
     */
    @java.lang.Override
    public int getPackSize() {
      return packSize_;
    }
    /**
     * <code>optional uint32 pack_size = 5;</code>
     * @param value The packSize to set.
     */
    private void setPackSize(int value) {
      bitField0_ |= 0x00000010;
      packSize_ = value;
    }
    /**
     * <code>optional uint32 pack_size = 5;</code>
     */
    private void clearPackSize() {
      bitField0_ = (bitField0_ & ~0x00000010);
      packSize_ = 0;
    }

    public static final int URL_FIELD_NUMBER = 6;
    private java.lang.String url_;
    /**
     * <code>optional string url = 6;</code>
     * @return Whether the url field is set.
     */
    @java.lang.Override
    public boolean hasUrl() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional string url = 6;</code>
     * @return The url.
     */
    @java.lang.Override
    public java.lang.String getUrl() {
      return url_;
    }
    /**
     * <code>optional string url = 6;</code>
     * @return The bytes for url.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUrlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(url_);
    }
    /**
     * <code>optional string url = 6;</code>
     * @param value The url to set.
     */
    private void setUrl(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000020;
      url_ = value;
    }
    /**
     * <code>optional string url = 6;</code>
     */
    private void clearUrl() {
      bitField0_ = (bitField0_ & ~0x00000020);
      url_ = getDefaultInstance().getUrl();
    }
    /**
     * <code>optional string url = 6;</code>
     * @param value The bytes for url to set.
     */
    private void setUrlBytes(
        com.google.protobuf.ByteString value) {
      url_ = value.toStringUtf8();
      bitField0_ |= 0x00000020;
    }

    public static final int MD5_CODE_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString md5Code_;
    /**
     * <code>optional bytes md5_code = 7;</code>
     * @return Whether the md5Code field is set.
     */
    @java.lang.Override
    public boolean hasMd5Code() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional bytes md5_code = 7;</code>
     * @return The md5Code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getMd5Code() {
      return md5Code_;
    }
    /**
     * <code>optional bytes md5_code = 7;</code>
     * @param value The md5Code to set.
     */
    private void setMd5Code(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000040;
      md5Code_ = value;
    }
    /**
     * <code>optional bytes md5_code = 7;</code>
     */
    private void clearMd5Code() {
      bitField0_ = (bitField0_ & ~0x00000040);
      md5Code_ = getDefaultInstance().getMd5Code();
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_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.LanguagePack.language_pack_info_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

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


      /**
       * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
       * @return Whether the languageType field is set.
       */
      @java.lang.Override
      public boolean hasLanguageType() {
        return instance.hasLanguageType();
      }
      /**
       * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
       * @return The languageType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE getLanguageType() {
        return instance.getLanguageType();
      }
      /**
       * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
       * @param value The enum numeric value on the wire for languageType to set.
       * @return This builder for chaining.
       */
      public Builder setLanguageType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE value) {
        copyOnWrite();
        instance.setLanguageType(value);
        return this;
      }
      /**
       * <code>required .LANGUAGE_TYPE language_type = 1 [default = enum_LANGUAGE_TYPE_INVALID];</code>
       * @return This builder for chaining.
       */
      public Builder clearLanguageType() {
        copyOnWrite();
        instance.clearLanguageType();
        return this;
      }

      /**
       * <code>optional uint32 language_versin = 2;</code>
       * @return Whether the languageVersin field is set.
       */
      @java.lang.Override
      public boolean hasLanguageVersin() {
        return instance.hasLanguageVersin();
      }
      /**
       * <code>optional uint32 language_versin = 2;</code>
       * @return The languageVersin.
       */
      @java.lang.Override
      public int getLanguageVersin() {
        return instance.getLanguageVersin();
      }
      /**
       * <code>optional uint32 language_versin = 2;</code>
       * @param value The languageVersin to set.
       * @return This builder for chaining.
       */
      public Builder setLanguageVersin(int value) {
        copyOnWrite();
        instance.setLanguageVersin(value);
        return this;
      }
      /**
       * <code>optional uint32 language_versin = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearLanguageVersin() {
        copyOnWrite();
        instance.clearLanguageVersin();
        return this;
      }

      /**
       * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
       * @return Whether the fontType field is set.
       */
      @java.lang.Override
      public boolean hasFontType() {
        return instance.hasFontType();
      }
      /**
       * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
       * @return The fontType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE getFontType() {
        return instance.getFontType();
      }
      /**
       * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
       * @param value The enum numeric value on the wire for fontType to set.
       * @return This builder for chaining.
       */
      public Builder setFontType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE value) {
        copyOnWrite();
        instance.setFontType(value);
        return this;
      }
      /**
       * <code>optional .LANGUAGE_PACK_FONT_TYPE font_type = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFontType() {
        copyOnWrite();
        instance.clearFontType();
        return this;
      }

      /**
       * <code>optional uint32 font_size = 4;</code>
       * @return Whether the fontSize field is set.
       */
      @java.lang.Override
      public boolean hasFontSize() {
        return instance.hasFontSize();
      }
      /**
       * <code>optional uint32 font_size = 4;</code>
       * @return The fontSize.
       */
      @java.lang.Override
      public int getFontSize() {
        return instance.getFontSize();
      }
      /**
       * <code>optional uint32 font_size = 4;</code>
       * @param value The fontSize to set.
       * @return This builder for chaining.
       */
      public Builder setFontSize(int value) {
        copyOnWrite();
        instance.setFontSize(value);
        return this;
      }
      /**
       * <code>optional uint32 font_size = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearFontSize() {
        copyOnWrite();
        instance.clearFontSize();
        return this;
      }

      /**
       * <code>optional uint32 pack_size = 5;</code>
       * @return Whether the packSize field is set.
       */
      @java.lang.Override
      public boolean hasPackSize() {
        return instance.hasPackSize();
      }
      /**
       * <code>optional uint32 pack_size = 5;</code>
       * @return The packSize.
       */
      @java.lang.Override
      public int getPackSize() {
        return instance.getPackSize();
      }
      /**
       * <code>optional uint32 pack_size = 5;</code>
       * @param value The packSize to set.
       * @return This builder for chaining.
       */
      public Builder setPackSize(int value) {
        copyOnWrite();
        instance.setPackSize(value);
        return this;
      }
      /**
       * <code>optional uint32 pack_size = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearPackSize() {
        copyOnWrite();
        instance.clearPackSize();
        return this;
      }

      /**
       * <code>optional string url = 6;</code>
       * @return Whether the url field is set.
       */
      @java.lang.Override
      public boolean hasUrl() {
        return instance.hasUrl();
      }
      /**
       * <code>optional string url = 6;</code>
       * @return The url.
       */
      @java.lang.Override
      public java.lang.String getUrl() {
        return instance.getUrl();
      }
      /**
       * <code>optional string url = 6;</code>
       * @return The bytes for url.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUrlBytes() {
        return instance.getUrlBytes();
      }
      /**
       * <code>optional string url = 6;</code>
       * @param value The url to set.
       * @return This builder for chaining.
       */
      public Builder setUrl(
          java.lang.String value) {
        copyOnWrite();
        instance.setUrl(value);
        return this;
      }
      /**
       * <code>optional string url = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearUrl() {
        copyOnWrite();
        instance.clearUrl();
        return this;
      }
      /**
       * <code>optional string url = 6;</code>
       * @param value The bytes for url to set.
       * @return This builder for chaining.
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setUrlBytes(value);
        return this;
      }

      /**
       * <code>optional bytes md5_code = 7;</code>
       * @return Whether the md5Code field is set.
       */
      @java.lang.Override
      public boolean hasMd5Code() {
        return instance.hasMd5Code();
      }
      /**
       * <code>optional bytes md5_code = 7;</code>
       * @return The md5Code.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getMd5Code() {
        return instance.getMd5Code();
      }
      /**
       * <code>optional bytes md5_code = 7;</code>
       * @param value The md5Code to set.
       * @return This builder for chaining.
       */
      public Builder setMd5Code(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setMd5Code(value);
        return this;
      }
      /**
       * <code>optional bytes md5_code = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearMd5Code() {
        copyOnWrite();
        instance.clearMd5Code();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:language_pack_info_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.LanguagePack.language_pack_info_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "languageType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Config.LANGUAGE_TYPE.internalGetVerifier(),
              "languageVersin_",
              "fontType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_FONT_TYPE.internalGetVerifier(),
              "fontSize_",
              "packSize_",
              "url_",
              "md5Code_",
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0000\u0001\u0001\u150c\u0000\u0002" +
                "\u100b\u0001\u0003\u100c\u0002\u0004\u100b\u0003\u0005\u100b\u0004\u0006\u1008\u0005" +
                "\u0007\u100a\u0006";
            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.LanguagePack.language_pack_info_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_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:language_pack_info_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg DEFAULT_INSTANCE;
    static {
      language_pack_info_msg defaultInstance = new language_pack_info_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        language_pack_info_msg.class, defaultInstance);
    }

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

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

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

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

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_LANGUAGE];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_LANGUAGE];</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 .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     * @return Whether the languageSubOperate field is set.
     */
    boolean hasLanguageSubOperate();
    /**
     * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     * @return The languageSubOperate.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getLanguageSubOperate();

    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> 
        getLanguagePackInfoMessageList();
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg getLanguagePackInfoMessage(int index);
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    int getLanguagePackInfoMessageCount();

    /**
     * <code>optional bytes content = 5;</code>
     * @return Whether the content field is set.
     */
    boolean hasContent();
    /**
     * <code>optional bytes content = 5;</code>
     * @return The content.
     */
    com.google.protobuf.ByteString getContent();

    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     * @return Whether the moduleInfoMessage field is set.
     */
    boolean hasModuleInfoMessage();
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     * @return The moduleInfoMessage.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg getModuleInfoMessage();
  }
  /**
   * Protobuf type {@code language_pack_msg}
   */
  public  static final class language_pack_msg extends
      com.google.protobuf.GeneratedMessageLite<
          language_pack_msg, language_pack_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:language_pack_msg)
      language_pack_msgOrBuilder {
    private language_pack_msg() {
      serviceType_ = 18;
      languagePackInfoMessage_ = emptyProtobufList();
      content_ = com.google.protobuf.ByteString.EMPTY;
    }
    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_LANGUAGE];</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_LANGUAGE];</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_LANGUAGE : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_LANGUAGE];</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_LANGUAGE];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 18;
    }

    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 LANGUAGE_SUB_OPERATE_FIELD_NUMBER = 3;
    private int languageSubOperate_;
    /**
     * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     * @return Whether the languageSubOperate field is set.
     */
    @java.lang.Override
    public boolean hasLanguageSubOperate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     * @return The languageSubOperate.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getLanguageSubOperate() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.forNumber(languageSubOperate_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.enum_LANG_SUB_OPERATE_TYPE_INVALID : result;
    }
    /**
     * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     * @param value The languageSubOperate to set.
     */
    private void setLanguageSubOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
      languageSubOperate_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
     */
    private void clearLanguageSubOperate() {
      bitField0_ = (bitField0_ & ~0x00000004);
      languageSubOperate_ = 0;
    }

    public static final int LANGUAGE_PACK_INFO_MESSAGE_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> languagePackInfoMessage_;
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> getLanguagePackInfoMessageList() {
      return languagePackInfoMessage_;
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msgOrBuilder> 
        getLanguagePackInfoMessageOrBuilderList() {
      return languagePackInfoMessage_;
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    @java.lang.Override
    public int getLanguagePackInfoMessageCount() {
      return languagePackInfoMessage_.size();
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg getLanguagePackInfoMessage(int index) {
      return languagePackInfoMessage_.get(index);
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msgOrBuilder getLanguagePackInfoMessageOrBuilder(
        int index) {
      return languagePackInfoMessage_.get(index);
    }
    private void ensureLanguagePackInfoMessageIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> tmp = languagePackInfoMessage_;
      if (!tmp.isModifiable()) {
        languagePackInfoMessage_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void setLanguagePackInfoMessage(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
      value.getClass();
  ensureLanguagePackInfoMessageIsMutable();
      languagePackInfoMessage_.set(index, value);
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void addLanguagePackInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
      value.getClass();
  ensureLanguagePackInfoMessageIsMutable();
      languagePackInfoMessage_.add(value);
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void addLanguagePackInfoMessage(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
      value.getClass();
  ensureLanguagePackInfoMessageIsMutable();
      languagePackInfoMessage_.add(index, value);
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void addAllLanguagePackInfoMessage(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> values) {
      ensureLanguagePackInfoMessageIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, languagePackInfoMessage_);
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void clearLanguagePackInfoMessage() {
      languagePackInfoMessage_ = emptyProtobufList();
    }
    /**
     * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
     */
    private void removeLanguagePackInfoMessage(int index) {
      ensureLanguagePackInfoMessageIsMutable();
      languagePackInfoMessage_.remove(index);
    }

    public static final int CONTENT_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString content_;
    /**
     * <code>optional bytes content = 5;</code>
     * @return Whether the content field is set.
     */
    @java.lang.Override
    public boolean hasContent() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional bytes content = 5;</code>
     * @return The content.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getContent() {
      return content_;
    }
    /**
     * <code>optional bytes content = 5;</code>
     * @param value The content to set.
     */
    private void setContent(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000008;
      content_ = value;
    }
    /**
     * <code>optional bytes content = 5;</code>
     */
    private void clearContent() {
      bitField0_ = (bitField0_ & ~0x00000008);
      content_ = getDefaultInstance().getContent();
    }

    public static final int MODULE_INFO_MESSAGE_FIELD_NUMBER = 16;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg moduleInfoMessage_;
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     */
    @java.lang.Override
    public boolean hasModuleInfoMessage() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg getModuleInfoMessage() {
      return moduleInfoMessage_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg.getDefaultInstance() : moduleInfoMessage_;
    }
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     */
    private void setModuleInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg value) {
      value.getClass();
  moduleInfoMessage_ = value;
      bitField0_ |= 0x00000010;
      }
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeModuleInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg value) {
      value.getClass();
  if (moduleInfoMessage_ != null &&
          moduleInfoMessage_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg.getDefaultInstance()) {
        moduleInfoMessage_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg.newBuilder(moduleInfoMessage_).mergeFrom(value).buildPartial();
      } else {
        moduleInfoMessage_ = value;
      }
      bitField0_ |= 0x00000010;
    }
    /**
     * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
     */
    private void clearModuleInfoMessage() {  moduleInfoMessage_ = null;
      bitField0_ = (bitField0_ & ~0x00000010);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_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.LanguagePack.language_pack_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

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


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_LANGUAGE];</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_LANGUAGE];</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_LANGUAGE];</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_LANGUAGE];</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 .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
       * @return Whether the languageSubOperate field is set.
       */
      @java.lang.Override
      public boolean hasLanguageSubOperate() {
        return instance.hasLanguageSubOperate();
      }
      /**
       * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
       * @return The languageSubOperate.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE getLanguageSubOperate() {
        return instance.getLanguageSubOperate();
      }
      /**
       * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
       * @param value The enum numeric value on the wire for languageSubOperate to set.
       * @return This builder for chaining.
       */
      public Builder setLanguageSubOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setLanguageSubOperate(value);
        return this;
      }
      /**
       * <code>required .LANGUAGE_PACK_SUB_OPERATE_TYPE language_sub_operate = 3 [default = enum_LANG_SUB_OPERATE_TYPE_INVALID];</code>
       * @return This builder for chaining.
       */
      public Builder clearLanguageSubOperate() {
        copyOnWrite();
        instance.clearLanguageSubOperate();
        return this;
      }

      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> getLanguagePackInfoMessageList() {
        return java.util.Collections.unmodifiableList(
            instance.getLanguagePackInfoMessageList());
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      @java.lang.Override
      public int getLanguagePackInfoMessageCount() {
        return instance.getLanguagePackInfoMessageCount();
      }/**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg getLanguagePackInfoMessage(int index) {
        return instance.getLanguagePackInfoMessage(index);
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder setLanguagePackInfoMessage(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
        copyOnWrite();
        instance.setLanguagePackInfoMessage(index, value);
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder setLanguagePackInfoMessage(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setLanguagePackInfoMessage(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder addLanguagePackInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
        copyOnWrite();
        instance.addLanguagePackInfoMessage(value);
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder addLanguagePackInfoMessage(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg value) {
        copyOnWrite();
        instance.addLanguagePackInfoMessage(index, value);
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder addLanguagePackInfoMessage(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addLanguagePackInfoMessage(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder addLanguagePackInfoMessage(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addLanguagePackInfoMessage(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder addAllLanguagePackInfoMessage(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg> values) {
        copyOnWrite();
        instance.addAllLanguagePackInfoMessage(values);
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder clearLanguagePackInfoMessage() {
        copyOnWrite();
        instance.clearLanguagePackInfoMessage();
        return this;
      }
      /**
       * <code>repeated .language_pack_info_msg language_pack_info_message = 4;</code>
       */
      public Builder removeLanguagePackInfoMessage(int index) {
        copyOnWrite();
        instance.removeLanguagePackInfoMessage(index);
        return this;
      }

      /**
       * <code>optional bytes content = 5;</code>
       * @return Whether the content field is set.
       */
      @java.lang.Override
      public boolean hasContent() {
        return instance.hasContent();
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @return The content.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getContent() {
        return instance.getContent();
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @param value The content to set.
       * @return This builder for chaining.
       */
      public Builder setContent(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setContent(value);
        return this;
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearContent() {
        copyOnWrite();
        instance.clearContent();
        return this;
      }

      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      @java.lang.Override
      public boolean hasModuleInfoMessage() {
        return instance.hasModuleInfoMessage();
      }
      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg getModuleInfoMessage() {
        return instance.getModuleInfoMessage();
      }
      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      public Builder setModuleInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg value) {
        copyOnWrite();
        instance.setModuleInfoMessage(value);
        return this;
        }
      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      public Builder setModuleInfoMessage(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setModuleInfoMessage(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      public Builder mergeModuleInfoMessage(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_module_info_msg value) {
        copyOnWrite();
        instance.mergeModuleInfoMessage(value);
        return this;
      }
      /**
       * <code>optional .language_pack_module_info_msg module_info_message = 16;</code>
       */
      public Builder clearModuleInfoMessage() {  copyOnWrite();
        instance.clearModuleInfoMessage();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:language_pack_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.LanguagePack.language_pack_msg();
        }
        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(),
              "languageSubOperate_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.LANGUAGE_PACK_SUB_OPERATE_TYPE.internalGetVerifier(),
              "languagePackInfoMessage_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_info_msg.class,
              "content_",
              "moduleInfoMessage_",
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0010\u0006\u0000\u0001\u0004\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u150c\u0002\u0004\u041b\u0005\u100a\u0003\u0010\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.LanguagePack.language_pack_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_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:language_pack_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.LanguagePack.language_pack_msg DEFAULT_INSTANCE;
    static {
      language_pack_msg defaultInstance = new language_pack_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        language_pack_msg.class, defaultInstance);
    }

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

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
