All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto Maven / Gradle / Ivy

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

package com.intel.analytics.bigdl.ppml.fl.generated;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface UploadLabelRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.UploadLabelRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData();
    /**
     * .TensorMap data = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder();

    /**
     * string algorithm = 3;
     * @return The algorithm.
     */
    java.lang.String getAlgorithm();
    /**
     * string algorithm = 3;
     * @return The bytes for algorithm.
     */
    com.google.protobuf.ByteString
        getAlgorithmBytes();
  }
  /**
   * Protobuf type {@code fgboost.UploadLabelRequest}
   */
  public static final class UploadLabelRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.UploadLabelRequest)
      UploadLabelRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UploadLabelRequest.newBuilder() to construct.
    private UploadLabelRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private UploadLabelRequest() {
      algorithm_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UploadLabelRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder subBuilder = null;
              if (data_ != null) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }

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

              algorithm_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadLabelRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadLabelRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
      return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
    }
    /**
     * .TensorMap data = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
      return getData();
    }

    public static final int ALGORITHM_FIELD_NUMBER = 3;
    private volatile java.lang.Object algorithm_;
    /**
     * string algorithm = 3;
     * @return The algorithm.
     */
    @java.lang.Override
    public java.lang.String getAlgorithm() {
      java.lang.Object ref = algorithm_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        algorithm_ = s;
        return s;
      }
    }
    /**
     * string algorithm = 3;
     * @return The bytes for algorithm.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAlgorithmBytes() {
      java.lang.Object ref = algorithm_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        algorithm_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (data_ != null) {
        output.writeMessage(2, getData());
      }
      if (!getAlgorithmBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, algorithm_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getData());
      }
      if (!getAlgorithmBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, algorithm_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (hasData() != other.hasData()) return false;
      if (hasData()) {
        if (!getData()
            .equals(other.getData())) return false;
      }
      if (!getAlgorithm()
          .equals(other.getAlgorithm())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      hash = (37 * hash) + ALGORITHM_FIELD_NUMBER;
      hash = (53 * hash) + getAlgorithm().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.UploadLabelRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.UploadLabelRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadLabelRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadLabelRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          data_ = null;
          dataBuilder_ = null;
        }
        algorithm_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadLabelRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest(this);
        result.clientuuid_ = clientuuid_;
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        result.algorithm_ = algorithm_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (!other.getAlgorithm().isEmpty()) {
          algorithm_ = other.algorithm_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> dataBuilder_;
      /**
       * .TensorMap data = 2;
       * @return Whether the data field is set.
       */
      public boolean hasData() {
        return dataBuilder_ != null || data_ != null;
      }
      /**
       * .TensorMap data = 2;
       * @return The data.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder mergeData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (data_ != null) {
            data_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          data_ = null;
          dataBuilder_ = null;
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder getDataBuilder() {
        
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        }
      }
      /**
       * .TensorMap data = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private java.lang.Object algorithm_ = "";
      /**
       * string algorithm = 3;
       * @return The algorithm.
       */
      public java.lang.String getAlgorithm() {
        java.lang.Object ref = algorithm_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          algorithm_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string algorithm = 3;
       * @return The bytes for algorithm.
       */
      public com.google.protobuf.ByteString
          getAlgorithmBytes() {
        java.lang.Object ref = algorithm_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          algorithm_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string algorithm = 3;
       * @param value The algorithm to set.
       * @return This builder for chaining.
       */
      public Builder setAlgorithm(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        algorithm_ = value;
        onChanged();
        return this;
      }
      /**
       * string algorithm = 3;
       * @return This builder for chaining.
       */
      public Builder clearAlgorithm() {
        
        algorithm_ = getDefaultInstance().getAlgorithm();
        onChanged();
        return this;
      }
      /**
       * string algorithm = 3;
       * @param value The bytes for algorithm to set.
       * @return This builder for chaining.
       */
      public Builder setAlgorithmBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        algorithm_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.UploadLabelRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.UploadLabelRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadLabelRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DownloadLabelRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.DownloadLabelRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .MetaData metaData = 1;
     * @return Whether the metaData field is set.
     */
    boolean hasMetaData();
    /**
     * .MetaData metaData = 1;
     * @return The metaData.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData getMetaData();
    /**
     * .MetaData metaData = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder getMetaDataOrBuilder();

    /**
     * string algorithm = 2;
     * @return The algorithm.
     */
    java.lang.String getAlgorithm();
    /**
     * string algorithm = 2;
     * @return The bytes for algorithm.
     */
    com.google.protobuf.ByteString
        getAlgorithmBytes();
  }
  /**
   * Protobuf type {@code fgboost.DownloadLabelRequest}
   */
  public static final class DownloadLabelRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.DownloadLabelRequest)
      DownloadLabelRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DownloadLabelRequest.newBuilder() to construct.
    private DownloadLabelRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DownloadLabelRequest() {
      algorithm_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DownloadLabelRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DownloadLabelRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder subBuilder = null;
              if (metaData_ != null) {
                subBuilder = metaData_.toBuilder();
              }
              metaData_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(metaData_);
                metaData_ = subBuilder.buildPartial();
              }

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

              algorithm_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadLabelRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadLabelRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.Builder.class);
    }

    public static final int METADATA_FIELD_NUMBER = 1;
    private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData metaData_;
    /**
     * .MetaData metaData = 1;
     * @return Whether the metaData field is set.
     */
    @java.lang.Override
    public boolean hasMetaData() {
      return metaData_ != null;
    }
    /**
     * .MetaData metaData = 1;
     * @return The metaData.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData getMetaData() {
      return metaData_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.getDefaultInstance() : metaData_;
    }
    /**
     * .MetaData metaData = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder getMetaDataOrBuilder() {
      return getMetaData();
    }

    public static final int ALGORITHM_FIELD_NUMBER = 2;
    private volatile java.lang.Object algorithm_;
    /**
     * string algorithm = 2;
     * @return The algorithm.
     */
    @java.lang.Override
    public java.lang.String getAlgorithm() {
      java.lang.Object ref = algorithm_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        algorithm_ = s;
        return s;
      }
    }
    /**
     * string algorithm = 2;
     * @return The bytes for algorithm.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAlgorithmBytes() {
      java.lang.Object ref = algorithm_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        algorithm_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (metaData_ != null) {
        output.writeMessage(1, getMetaData());
      }
      if (!getAlgorithmBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, algorithm_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (metaData_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getMetaData());
      }
      if (!getAlgorithmBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, algorithm_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest) obj;

      if (hasMetaData() != other.hasMetaData()) return false;
      if (hasMetaData()) {
        if (!getMetaData()
            .equals(other.getMetaData())) return false;
      }
      if (!getAlgorithm()
          .equals(other.getAlgorithm())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMetaData()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getMetaData().hashCode();
      }
      hash = (37 * hash) + ALGORITHM_FIELD_NUMBER;
      hash = (53 * hash) + getAlgorithm().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.DownloadLabelRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.DownloadLabelRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadLabelRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadLabelRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (metaDataBuilder_ == null) {
          metaData_ = null;
        } else {
          metaData_ = null;
          metaDataBuilder_ = null;
        }
        algorithm_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadLabelRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest(this);
        if (metaDataBuilder_ == null) {
          result.metaData_ = metaData_;
        } else {
          result.metaData_ = metaDataBuilder_.build();
        }
        result.algorithm_ = algorithm_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest.getDefaultInstance()) return this;
        if (other.hasMetaData()) {
          mergeMetaData(other.getMetaData());
        }
        if (!other.getAlgorithm().isEmpty()) {
          algorithm_ = other.algorithm_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData metaData_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder> metaDataBuilder_;
      /**
       * .MetaData metaData = 1;
       * @return Whether the metaData field is set.
       */
      public boolean hasMetaData() {
        return metaDataBuilder_ != null || metaData_ != null;
      }
      /**
       * .MetaData metaData = 1;
       * @return The metaData.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData getMetaData() {
        if (metaDataBuilder_ == null) {
          return metaData_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.getDefaultInstance() : metaData_;
        } else {
          return metaDataBuilder_.getMessage();
        }
      }
      /**
       * .MetaData metaData = 1;
       */
      public Builder setMetaData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData value) {
        if (metaDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          metaData_ = value;
          onChanged();
        } else {
          metaDataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .MetaData metaData = 1;
       */
      public Builder setMetaData(
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder builderForValue) {
        if (metaDataBuilder_ == null) {
          metaData_ = builderForValue.build();
          onChanged();
        } else {
          metaDataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .MetaData metaData = 1;
       */
      public Builder mergeMetaData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData value) {
        if (metaDataBuilder_ == null) {
          if (metaData_ != null) {
            metaData_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.newBuilder(metaData_).mergeFrom(value).buildPartial();
          } else {
            metaData_ = value;
          }
          onChanged();
        } else {
          metaDataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .MetaData metaData = 1;
       */
      public Builder clearMetaData() {
        if (metaDataBuilder_ == null) {
          metaData_ = null;
          onChanged();
        } else {
          metaData_ = null;
          metaDataBuilder_ = null;
        }

        return this;
      }
      /**
       * .MetaData metaData = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder getMetaDataBuilder() {
        
        onChanged();
        return getMetaDataFieldBuilder().getBuilder();
      }
      /**
       * .MetaData metaData = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder getMetaDataOrBuilder() {
        if (metaDataBuilder_ != null) {
          return metaDataBuilder_.getMessageOrBuilder();
        } else {
          return metaData_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.getDefaultInstance() : metaData_;
        }
      }
      /**
       * .MetaData metaData = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder> 
          getMetaDataFieldBuilder() {
        if (metaDataBuilder_ == null) {
          metaDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaData.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.MetaDataOrBuilder>(
                  getMetaData(),
                  getParentForChildren(),
                  isClean());
          metaData_ = null;
        }
        return metaDataBuilder_;
      }

      private java.lang.Object algorithm_ = "";
      /**
       * string algorithm = 2;
       * @return The algorithm.
       */
      public java.lang.String getAlgorithm() {
        java.lang.Object ref = algorithm_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          algorithm_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string algorithm = 2;
       * @return The bytes for algorithm.
       */
      public com.google.protobuf.ByteString
          getAlgorithmBytes() {
        java.lang.Object ref = algorithm_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          algorithm_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string algorithm = 2;
       * @param value The algorithm to set.
       * @return This builder for chaining.
       */
      public Builder setAlgorithm(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        algorithm_ = value;
        onChanged();
        return this;
      }
      /**
       * string algorithm = 2;
       * @return This builder for chaining.
       */
      public Builder clearAlgorithm() {
        
        algorithm_ = getDefaultInstance().getAlgorithm();
        onChanged();
        return this;
      }
      /**
       * string algorithm = 2;
       * @param value The bytes for algorithm to set.
       * @return This builder for chaining.
       */
      public Builder setAlgorithmBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        algorithm_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.DownloadLabelRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.DownloadLabelRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadLabelRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DownloadResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.DownloadResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .TensorMap data = 1;
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * .TensorMap data = 1;
     * @return The data.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData();
    /**
     * .TensorMap data = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder();

    /**
     * string response = 2;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 2;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * int32 code = 3;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.DownloadResponse}
   */
  public static final class DownloadResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.DownloadResponse)
      DownloadResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DownloadResponse.newBuilder() to construct.
    private DownloadResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DownloadResponse() {
      response_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DownloadResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DownloadResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder subBuilder = null;
              if (data_ != null) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }

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

              response_ = s;
              break;
            }
            case 24: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.Builder.class);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
    /**
     * .TensorMap data = 1;
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * .TensorMap data = 1;
     * @return The data.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
      return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
    }
    /**
     * .TensorMap data = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
      return getData();
    }

    public static final int RESPONSE_FIELD_NUMBER = 2;
    private volatile java.lang.Object response_;
    /**
     * string response = 2;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 2;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 3;
    private int code_;
    /**
     * int32 code = 3;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (data_ != null) {
        output.writeMessage(1, getData());
      }
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, response_);
      }
      if (code_ != 0) {
        output.writeInt32(3, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getData());
      }
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, response_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse) obj;

      if (hasData() != other.hasData()) return false;
      if (hasData()) {
        if (!getData()
            .equals(other.getData())) return false;
      }
      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.DownloadResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.DownloadResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          data_ = null;
          dataBuilder_ = null;
        }
        response_ = "";

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DownloadResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse(this);
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        result.response_ = response_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse.getDefaultInstance()) return this;
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> dataBuilder_;
      /**
       * .TensorMap data = 1;
       * @return Whether the data field is set.
       */
      public boolean hasData() {
        return dataBuilder_ != null || data_ != null;
      }
      /**
       * .TensorMap data = 1;
       * @return The data.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * .TensorMap data = 1;
       */
      public Builder setData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 1;
       */
      public Builder setData(
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .TensorMap data = 1;
       */
      public Builder mergeData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (data_ != null) {
            data_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 1;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          data_ = null;
          dataBuilder_ = null;
        }

        return this;
      }
      /**
       * .TensorMap data = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder getDataBuilder() {
        
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * .TensorMap data = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        }
      }
      /**
       * .TensorMap data = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private java.lang.Object response_ = "";
      /**
       * string response = 2;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 2;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 2;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 2;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 2;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 3;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 3;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 3;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.DownloadResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.DownloadResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DownloadResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TreeLeafOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.TreeLeaf)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string treeID = 1;
     * @return The treeID.
     */
    java.lang.String getTreeID();
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    com.google.protobuf.ByteString
        getTreeIDBytes();

    /**
     * repeated int32 leafIndex = 2;
     * @return A list containing the leafIndex.
     */
    java.util.List getLeafIndexList();
    /**
     * repeated int32 leafIndex = 2;
     * @return The count of leafIndex.
     */
    int getLeafIndexCount();
    /**
     * repeated int32 leafIndex = 2;
     * @param index The index of the element to return.
     * @return The leafIndex at the given index.
     */
    int getLeafIndex(int index);

    /**
     * repeated float leafOutput = 3;
     * @return A list containing the leafOutput.
     */
    java.util.List getLeafOutputList();
    /**
     * repeated float leafOutput = 3;
     * @return The count of leafOutput.
     */
    int getLeafOutputCount();
    /**
     * repeated float leafOutput = 3;
     * @param index The index of the element to return.
     * @return The leafOutput at the given index.
     */
    float getLeafOutput(int index);

    /**
     * int32 version = 4;
     * @return The version.
     */
    int getVersion();
  }
  /**
   * Protobuf type {@code fgboost.TreeLeaf}
   */
  public static final class TreeLeaf extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.TreeLeaf)
      TreeLeafOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TreeLeaf.newBuilder() to construct.
    private TreeLeaf(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private TreeLeaf() {
      treeID_ = "";
      leafIndex_ = emptyIntList();
      leafOutput_ = emptyFloatList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TreeLeaf();
    }

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

              treeID_ = s;
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                leafIndex_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              leafIndex_.addInt(input.readInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                leafIndex_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                leafIndex_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 29: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                leafOutput_ = newFloatList();
                mutable_bitField0_ |= 0x00000002;
              }
              leafOutput_.addFloat(input.readFloat());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                leafOutput_ = newFloatList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                leafOutput_.addFloat(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 32: {

              version_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          leafIndex_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          leafOutput_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreeLeaf_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreeLeaf_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder.class);
    }

    public static final int TREEID_FIELD_NUMBER = 1;
    private volatile java.lang.Object treeID_;
    /**
     * string treeID = 1;
     * @return The treeID.
     */
    @java.lang.Override
    public java.lang.String getTreeID() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        treeID_ = s;
        return s;
      }
    }
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTreeIDBytes() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        treeID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LEAFINDEX_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.IntList leafIndex_;
    /**
     * repeated int32 leafIndex = 2;
     * @return A list containing the leafIndex.
     */
    @java.lang.Override
    public java.util.List
        getLeafIndexList() {
      return leafIndex_;
    }
    /**
     * repeated int32 leafIndex = 2;
     * @return The count of leafIndex.
     */
    public int getLeafIndexCount() {
      return leafIndex_.size();
    }
    /**
     * repeated int32 leafIndex = 2;
     * @param index The index of the element to return.
     * @return The leafIndex at the given index.
     */
    public int getLeafIndex(int index) {
      return leafIndex_.getInt(index);
    }
    private int leafIndexMemoizedSerializedSize = -1;

    public static final int LEAFOUTPUT_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.FloatList leafOutput_;
    /**
     * repeated float leafOutput = 3;
     * @return A list containing the leafOutput.
     */
    @java.lang.Override
    public java.util.List
        getLeafOutputList() {
      return leafOutput_;
    }
    /**
     * repeated float leafOutput = 3;
     * @return The count of leafOutput.
     */
    public int getLeafOutputCount() {
      return leafOutput_.size();
    }
    /**
     * repeated float leafOutput = 3;
     * @param index The index of the element to return.
     * @return The leafOutput at the given index.
     */
    public float getLeafOutput(int index) {
      return leafOutput_.getFloat(index);
    }
    private int leafOutputMemoizedSerializedSize = -1;

    public static final int VERSION_FIELD_NUMBER = 4;
    private int version_;
    /**
     * int32 version = 4;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (!getTreeIDBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, treeID_);
      }
      if (getLeafIndexList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(leafIndexMemoizedSerializedSize);
      }
      for (int i = 0; i < leafIndex_.size(); i++) {
        output.writeInt32NoTag(leafIndex_.getInt(i));
      }
      if (getLeafOutputList().size() > 0) {
        output.writeUInt32NoTag(26);
        output.writeUInt32NoTag(leafOutputMemoizedSerializedSize);
      }
      for (int i = 0; i < leafOutput_.size(); i++) {
        output.writeFloatNoTag(leafOutput_.getFloat(i));
      }
      if (version_ != 0) {
        output.writeInt32(4, version_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getTreeIDBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, treeID_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < leafIndex_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(leafIndex_.getInt(i));
        }
        size += dataSize;
        if (!getLeafIndexList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        leafIndexMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getLeafOutputList().size();
        size += dataSize;
        if (!getLeafOutputList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        leafOutputMemoizedSerializedSize = dataSize;
      }
      if (version_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, version_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf) obj;

      if (!getTreeID()
          .equals(other.getTreeID())) return false;
      if (!getLeafIndexList()
          .equals(other.getLeafIndexList())) return false;
      if (!getLeafOutputList()
          .equals(other.getLeafOutputList())) return false;
      if (getVersion()
          != other.getVersion()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TREEID_FIELD_NUMBER;
      hash = (53 * hash) + getTreeID().hashCode();
      if (getLeafIndexCount() > 0) {
        hash = (37 * hash) + LEAFINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getLeafIndexList().hashCode();
      }
      if (getLeafOutputCount() > 0) {
        hash = (37 * hash) + LEAFOUTPUT_FIELD_NUMBER;
        hash = (53 * hash) + getLeafOutputList().hashCode();
      }
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.TreeLeaf}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.TreeLeaf)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreeLeaf_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreeLeaf_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        leafIndex_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        leafOutput_ = emptyFloatList();
        bitField0_ = (bitField0_ & ~0x00000002);
        version_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreeLeaf_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf(this);
        int from_bitField0_ = bitField0_;
        result.treeID_ = treeID_;
        if (((bitField0_ & 0x00000001) != 0)) {
          leafIndex_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.leafIndex_ = leafIndex_;
        if (((bitField0_ & 0x00000002) != 0)) {
          leafOutput_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.leafOutput_ = leafOutput_;
        result.version_ = version_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.getDefaultInstance()) return this;
        if (!other.getTreeID().isEmpty()) {
          treeID_ = other.treeID_;
          onChanged();
        }
        if (!other.leafIndex_.isEmpty()) {
          if (leafIndex_.isEmpty()) {
            leafIndex_ = other.leafIndex_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureLeafIndexIsMutable();
            leafIndex_.addAll(other.leafIndex_);
          }
          onChanged();
        }
        if (!other.leafOutput_.isEmpty()) {
          if (leafOutput_.isEmpty()) {
            leafOutput_ = other.leafOutput_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureLeafOutputIsMutable();
            leafOutput_.addAll(other.leafOutput_);
          }
          onChanged();
        }
        if (other.getVersion() != 0) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object treeID_ = "";
      /**
       * string treeID = 1;
       * @return The treeID.
       */
      public java.lang.String getTreeID() {
        java.lang.Object ref = treeID_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          treeID_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string treeID = 1;
       * @return The bytes for treeID.
       */
      public com.google.protobuf.ByteString
          getTreeIDBytes() {
        java.lang.Object ref = treeID_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          treeID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string treeID = 1;
       * @param value The treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeID(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        treeID_ = value;
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @return This builder for chaining.
       */
      public Builder clearTreeID() {
        
        treeID_ = getDefaultInstance().getTreeID();
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @param value The bytes for treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        treeID_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList leafIndex_ = emptyIntList();
      private void ensureLeafIndexIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          leafIndex_ = mutableCopy(leafIndex_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated int32 leafIndex = 2;
       * @return A list containing the leafIndex.
       */
      public java.util.List
          getLeafIndexList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(leafIndex_) : leafIndex_;
      }
      /**
       * repeated int32 leafIndex = 2;
       * @return The count of leafIndex.
       */
      public int getLeafIndexCount() {
        return leafIndex_.size();
      }
      /**
       * repeated int32 leafIndex = 2;
       * @param index The index of the element to return.
       * @return The leafIndex at the given index.
       */
      public int getLeafIndex(int index) {
        return leafIndex_.getInt(index);
      }
      /**
       * repeated int32 leafIndex = 2;
       * @param index The index to set the value at.
       * @param value The leafIndex to set.
       * @return This builder for chaining.
       */
      public Builder setLeafIndex(
          int index, int value) {
        ensureLeafIndexIsMutable();
        leafIndex_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 leafIndex = 2;
       * @param value The leafIndex to add.
       * @return This builder for chaining.
       */
      public Builder addLeafIndex(int value) {
        ensureLeafIndexIsMutable();
        leafIndex_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 leafIndex = 2;
       * @param values The leafIndex to add.
       * @return This builder for chaining.
       */
      public Builder addAllLeafIndex(
          java.lang.Iterable values) {
        ensureLeafIndexIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, leafIndex_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 leafIndex = 2;
       * @return This builder for chaining.
       */
      public Builder clearLeafIndex() {
        leafIndex_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.FloatList leafOutput_ = emptyFloatList();
      private void ensureLeafOutputIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          leafOutput_ = mutableCopy(leafOutput_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated float leafOutput = 3;
       * @return A list containing the leafOutput.
       */
      public java.util.List
          getLeafOutputList() {
        return ((bitField0_ & 0x00000002) != 0) ?
                 java.util.Collections.unmodifiableList(leafOutput_) : leafOutput_;
      }
      /**
       * repeated float leafOutput = 3;
       * @return The count of leafOutput.
       */
      public int getLeafOutputCount() {
        return leafOutput_.size();
      }
      /**
       * repeated float leafOutput = 3;
       * @param index The index of the element to return.
       * @return The leafOutput at the given index.
       */
      public float getLeafOutput(int index) {
        return leafOutput_.getFloat(index);
      }
      /**
       * repeated float leafOutput = 3;
       * @param index The index to set the value at.
       * @param value The leafOutput to set.
       * @return This builder for chaining.
       */
      public Builder setLeafOutput(
          int index, float value) {
        ensureLeafOutputIsMutable();
        leafOutput_.setFloat(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float leafOutput = 3;
       * @param value The leafOutput to add.
       * @return This builder for chaining.
       */
      public Builder addLeafOutput(float value) {
        ensureLeafOutputIsMutable();
        leafOutput_.addFloat(value);
        onChanged();
        return this;
      }
      /**
       * repeated float leafOutput = 3;
       * @param values The leafOutput to add.
       * @return This builder for chaining.
       */
      public Builder addAllLeafOutput(
          java.lang.Iterable values) {
        ensureLeafOutputIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, leafOutput_);
        onChanged();
        return this;
      }
      /**
       * repeated float leafOutput = 3;
       * @return This builder for chaining.
       */
      public Builder clearLeafOutput() {
        leafOutput_ = emptyFloatList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private int version_ ;
      /**
       * int32 version = 4;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * int32 version = 4;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 version = 4;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.TreeLeaf)
    }

    // @@protoc_insertion_point(class_scope:fgboost.TreeLeaf)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UploadTreeLeafRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.UploadTreeLeafRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     * @return Whether the treeLeaf field is set.
     */
    boolean hasTreeLeaf();
    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     * @return The treeLeaf.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getTreeLeaf();
    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder getTreeLeafOrBuilder();
  }
  /**
   * Protobuf type {@code fgboost.UploadTreeLeafRequest}
   */
  public static final class UploadTreeLeafRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.UploadTreeLeafRequest)
      UploadTreeLeafRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UploadTreeLeafRequest.newBuilder() to construct.
    private UploadTreeLeafRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private UploadTreeLeafRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UploadTreeLeafRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder subBuilder = null;
              if (treeLeaf_ != null) {
                subBuilder = treeLeaf_.toBuilder();
              }
              treeLeaf_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(treeLeaf_);
                treeLeaf_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeLeafRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeLeafRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int TREELEAF_FIELD_NUMBER = 2;
    private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf treeLeaf_;
    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     * @return Whether the treeLeaf field is set.
     */
    @java.lang.Override
    public boolean hasTreeLeaf() {
      return treeLeaf_ != null;
    }
    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     * @return The treeLeaf.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getTreeLeaf() {
      return treeLeaf_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.getDefaultInstance() : treeLeaf_;
    }
    /**
     * .fgboost.TreeLeaf treeLeaf = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder getTreeLeafOrBuilder() {
      return getTreeLeaf();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (treeLeaf_ != null) {
        output.writeMessage(2, getTreeLeaf());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (treeLeaf_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getTreeLeaf());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (hasTreeLeaf() != other.hasTreeLeaf()) return false;
      if (hasTreeLeaf()) {
        if (!getTreeLeaf()
            .equals(other.getTreeLeaf())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      if (hasTreeLeaf()) {
        hash = (37 * hash) + TREELEAF_FIELD_NUMBER;
        hash = (53 * hash) + getTreeLeaf().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.UploadTreeLeafRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.UploadTreeLeafRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeLeafRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeLeafRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (treeLeafBuilder_ == null) {
          treeLeaf_ = null;
        } else {
          treeLeaf_ = null;
          treeLeafBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeLeafRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest(this);
        result.clientuuid_ = clientuuid_;
        if (treeLeafBuilder_ == null) {
          result.treeLeaf_ = treeLeaf_;
        } else {
          result.treeLeaf_ = treeLeafBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (other.hasTreeLeaf()) {
          mergeTreeLeaf(other.getTreeLeaf());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf treeLeaf_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder> treeLeafBuilder_;
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       * @return Whether the treeLeaf field is set.
       */
      public boolean hasTreeLeaf() {
        return treeLeafBuilder_ != null || treeLeaf_ != null;
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       * @return The treeLeaf.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf getTreeLeaf() {
        if (treeLeafBuilder_ == null) {
          return treeLeaf_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.getDefaultInstance() : treeLeaf_;
        } else {
          return treeLeafBuilder_.getMessage();
        }
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public Builder setTreeLeaf(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf value) {
        if (treeLeafBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          treeLeaf_ = value;
          onChanged();
        } else {
          treeLeafBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public Builder setTreeLeaf(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder builderForValue) {
        if (treeLeafBuilder_ == null) {
          treeLeaf_ = builderForValue.build();
          onChanged();
        } else {
          treeLeafBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public Builder mergeTreeLeaf(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf value) {
        if (treeLeafBuilder_ == null) {
          if (treeLeaf_ != null) {
            treeLeaf_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.newBuilder(treeLeaf_).mergeFrom(value).buildPartial();
          } else {
            treeLeaf_ = value;
          }
          onChanged();
        } else {
          treeLeafBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public Builder clearTreeLeaf() {
        if (treeLeafBuilder_ == null) {
          treeLeaf_ = null;
          onChanged();
        } else {
          treeLeaf_ = null;
          treeLeafBuilder_ = null;
        }

        return this;
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder getTreeLeafBuilder() {
        
        onChanged();
        return getTreeLeafFieldBuilder().getBuilder();
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder getTreeLeafOrBuilder() {
        if (treeLeafBuilder_ != null) {
          return treeLeafBuilder_.getMessageOrBuilder();
        } else {
          return treeLeaf_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.getDefaultInstance() : treeLeaf_;
        }
      }
      /**
       * .fgboost.TreeLeaf treeLeaf = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder> 
          getTreeLeafFieldBuilder() {
        if (treeLeafBuilder_ == null) {
          treeLeafBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeaf.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreeLeafOrBuilder>(
                  getTreeLeaf(),
                  getParentForChildren(),
                  isClean());
          treeLeaf_ = null;
        }
        return treeLeafBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.UploadTreeLeafRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.UploadTreeLeafRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeLeafRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DataSplitOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.DataSplit)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string treeID = 1;
     * @return The treeID.
     */
    java.lang.String getTreeID();
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    com.google.protobuf.ByteString
        getTreeIDBytes();

    /**
     * string nodeID = 2;
     * @return The nodeID.
     */
    java.lang.String getNodeID();
    /**
     * string nodeID = 2;
     * @return The bytes for nodeID.
     */
    com.google.protobuf.ByteString
        getNodeIDBytes();

    /**
     * int32 featureID = 3;
     * @return The featureID.
     */
    int getFeatureID();

    /**
     * float splitValue = 4;
     * @return The splitValue.
     */
    float getSplitValue();

    /**
     * float gain = 5;
     * @return The gain.
     */
    float getGain();

    /**
     * int32 setLength = 6;
     * @return The setLength.
     */
    int getSetLength();

    /**
     * repeated int32 itemSet = 7;
     * @return A list containing the itemSet.
     */
    java.util.List getItemSetList();
    /**
     * repeated int32 itemSet = 7;
     * @return The count of itemSet.
     */
    int getItemSetCount();
    /**
     * repeated int32 itemSet = 7;
     * @param index The index of the element to return.
     * @return The itemSet at the given index.
     */
    int getItemSet(int index);

    /**
     * string clientUid = 8;
     * @return The clientUid.
     */
    java.lang.String getClientUid();
    /**
     * string clientUid = 8;
     * @return The bytes for clientUid.
     */
    com.google.protobuf.ByteString
        getClientUidBytes();

    /**
     * int32 version = 9;
     * @return The version.
     */
    int getVersion();
  }
  /**
   * Protobuf type {@code fgboost.DataSplit}
   */
  public static final class DataSplit extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.DataSplit)
      DataSplitOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DataSplit.newBuilder() to construct.
    private DataSplit(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DataSplit() {
      treeID_ = "";
      nodeID_ = "";
      itemSet_ = emptyIntList();
      clientUid_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DataSplit();
    }

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

              treeID_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              nodeID_ = s;
              break;
            }
            case 24: {

              featureID_ = input.readInt32();
              break;
            }
            case 37: {

              splitValue_ = input.readFloat();
              break;
            }
            case 45: {

              gain_ = input.readFloat();
              break;
            }
            case 48: {

              setLength_ = input.readInt32();
              break;
            }
            case 56: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                itemSet_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              itemSet_.addInt(input.readInt32());
              break;
            }
            case 58: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                itemSet_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                itemSet_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              clientUid_ = s;
              break;
            }
            case 72: {

              version_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          itemSet_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DataSplit_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DataSplit_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder.class);
    }

    public static final int TREEID_FIELD_NUMBER = 1;
    private volatile java.lang.Object treeID_;
    /**
     * string treeID = 1;
     * @return The treeID.
     */
    @java.lang.Override
    public java.lang.String getTreeID() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        treeID_ = s;
        return s;
      }
    }
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTreeIDBytes() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        treeID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NODEID_FIELD_NUMBER = 2;
    private volatile java.lang.Object nodeID_;
    /**
     * string nodeID = 2;
     * @return The nodeID.
     */
    @java.lang.Override
    public java.lang.String getNodeID() {
      java.lang.Object ref = nodeID_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        nodeID_ = s;
        return s;
      }
    }
    /**
     * string nodeID = 2;
     * @return The bytes for nodeID.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNodeIDBytes() {
      java.lang.Object ref = nodeID_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nodeID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FEATUREID_FIELD_NUMBER = 3;
    private int featureID_;
    /**
     * int32 featureID = 3;
     * @return The featureID.
     */
    @java.lang.Override
    public int getFeatureID() {
      return featureID_;
    }

    public static final int SPLITVALUE_FIELD_NUMBER = 4;
    private float splitValue_;
    /**
     * float splitValue = 4;
     * @return The splitValue.
     */
    @java.lang.Override
    public float getSplitValue() {
      return splitValue_;
    }

    public static final int GAIN_FIELD_NUMBER = 5;
    private float gain_;
    /**
     * float gain = 5;
     * @return The gain.
     */
    @java.lang.Override
    public float getGain() {
      return gain_;
    }

    public static final int SETLENGTH_FIELD_NUMBER = 6;
    private int setLength_;
    /**
     * int32 setLength = 6;
     * @return The setLength.
     */
    @java.lang.Override
    public int getSetLength() {
      return setLength_;
    }

    public static final int ITEMSET_FIELD_NUMBER = 7;
    private com.google.protobuf.Internal.IntList itemSet_;
    /**
     * repeated int32 itemSet = 7;
     * @return A list containing the itemSet.
     */
    @java.lang.Override
    public java.util.List
        getItemSetList() {
      return itemSet_;
    }
    /**
     * repeated int32 itemSet = 7;
     * @return The count of itemSet.
     */
    public int getItemSetCount() {
      return itemSet_.size();
    }
    /**
     * repeated int32 itemSet = 7;
     * @param index The index of the element to return.
     * @return The itemSet at the given index.
     */
    public int getItemSet(int index) {
      return itemSet_.getInt(index);
    }
    private int itemSetMemoizedSerializedSize = -1;

    public static final int CLIENTUID_FIELD_NUMBER = 8;
    private volatile java.lang.Object clientUid_;
    /**
     * string clientUid = 8;
     * @return The clientUid.
     */
    @java.lang.Override
    public java.lang.String getClientUid() {
      java.lang.Object ref = clientUid_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        clientUid_ = s;
        return s;
      }
    }
    /**
     * string clientUid = 8;
     * @return The bytes for clientUid.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClientUidBytes() {
      java.lang.Object ref = clientUid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clientUid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VERSION_FIELD_NUMBER = 9;
    private int version_;
    /**
     * int32 version = 9;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (!getTreeIDBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, treeID_);
      }
      if (!getNodeIDBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nodeID_);
      }
      if (featureID_ != 0) {
        output.writeInt32(3, featureID_);
      }
      if (splitValue_ != 0F) {
        output.writeFloat(4, splitValue_);
      }
      if (gain_ != 0F) {
        output.writeFloat(5, gain_);
      }
      if (setLength_ != 0) {
        output.writeInt32(6, setLength_);
      }
      if (getItemSetList().size() > 0) {
        output.writeUInt32NoTag(58);
        output.writeUInt32NoTag(itemSetMemoizedSerializedSize);
      }
      for (int i = 0; i < itemSet_.size(); i++) {
        output.writeInt32NoTag(itemSet_.getInt(i));
      }
      if (!getClientUidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, clientUid_);
      }
      if (version_ != 0) {
        output.writeInt32(9, version_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getTreeIDBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, treeID_);
      }
      if (!getNodeIDBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nodeID_);
      }
      if (featureID_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, featureID_);
      }
      if (splitValue_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, splitValue_);
      }
      if (gain_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, gain_);
      }
      if (setLength_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, setLength_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < itemSet_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(itemSet_.getInt(i));
        }
        size += dataSize;
        if (!getItemSetList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        itemSetMemoizedSerializedSize = dataSize;
      }
      if (!getClientUidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, clientUid_);
      }
      if (version_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, version_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit) obj;

      if (!getTreeID()
          .equals(other.getTreeID())) return false;
      if (!getNodeID()
          .equals(other.getNodeID())) return false;
      if (getFeatureID()
          != other.getFeatureID()) return false;
      if (java.lang.Float.floatToIntBits(getSplitValue())
          != java.lang.Float.floatToIntBits(
              other.getSplitValue())) return false;
      if (java.lang.Float.floatToIntBits(getGain())
          != java.lang.Float.floatToIntBits(
              other.getGain())) return false;
      if (getSetLength()
          != other.getSetLength()) return false;
      if (!getItemSetList()
          .equals(other.getItemSetList())) return false;
      if (!getClientUid()
          .equals(other.getClientUid())) return false;
      if (getVersion()
          != other.getVersion()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TREEID_FIELD_NUMBER;
      hash = (53 * hash) + getTreeID().hashCode();
      hash = (37 * hash) + NODEID_FIELD_NUMBER;
      hash = (53 * hash) + getNodeID().hashCode();
      hash = (37 * hash) + FEATUREID_FIELD_NUMBER;
      hash = (53 * hash) + getFeatureID();
      hash = (37 * hash) + SPLITVALUE_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getSplitValue());
      hash = (37 * hash) + GAIN_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getGain());
      hash = (37 * hash) + SETLENGTH_FIELD_NUMBER;
      hash = (53 * hash) + getSetLength();
      if (getItemSetCount() > 0) {
        hash = (37 * hash) + ITEMSET_FIELD_NUMBER;
        hash = (53 * hash) + getItemSetList().hashCode();
      }
      hash = (37 * hash) + CLIENTUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientUid().hashCode();
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.DataSplit}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.DataSplit)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DataSplit_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DataSplit_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        nodeID_ = "";

        featureID_ = 0;

        splitValue_ = 0F;

        gain_ = 0F;

        setLength_ = 0;

        itemSet_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        clientUid_ = "";

        version_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_DataSplit_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit(this);
        int from_bitField0_ = bitField0_;
        result.treeID_ = treeID_;
        result.nodeID_ = nodeID_;
        result.featureID_ = featureID_;
        result.splitValue_ = splitValue_;
        result.gain_ = gain_;
        result.setLength_ = setLength_;
        if (((bitField0_ & 0x00000001) != 0)) {
          itemSet_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.itemSet_ = itemSet_;
        result.clientUid_ = clientUid_;
        result.version_ = version_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance()) return this;
        if (!other.getTreeID().isEmpty()) {
          treeID_ = other.treeID_;
          onChanged();
        }
        if (!other.getNodeID().isEmpty()) {
          nodeID_ = other.nodeID_;
          onChanged();
        }
        if (other.getFeatureID() != 0) {
          setFeatureID(other.getFeatureID());
        }
        if (other.getSplitValue() != 0F) {
          setSplitValue(other.getSplitValue());
        }
        if (other.getGain() != 0F) {
          setGain(other.getGain());
        }
        if (other.getSetLength() != 0) {
          setSetLength(other.getSetLength());
        }
        if (!other.itemSet_.isEmpty()) {
          if (itemSet_.isEmpty()) {
            itemSet_ = other.itemSet_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureItemSetIsMutable();
            itemSet_.addAll(other.itemSet_);
          }
          onChanged();
        }
        if (!other.getClientUid().isEmpty()) {
          clientUid_ = other.clientUid_;
          onChanged();
        }
        if (other.getVersion() != 0) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object treeID_ = "";
      /**
       * string treeID = 1;
       * @return The treeID.
       */
      public java.lang.String getTreeID() {
        java.lang.Object ref = treeID_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          treeID_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string treeID = 1;
       * @return The bytes for treeID.
       */
      public com.google.protobuf.ByteString
          getTreeIDBytes() {
        java.lang.Object ref = treeID_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          treeID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string treeID = 1;
       * @param value The treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeID(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        treeID_ = value;
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @return This builder for chaining.
       */
      public Builder clearTreeID() {
        
        treeID_ = getDefaultInstance().getTreeID();
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @param value The bytes for treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        treeID_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object nodeID_ = "";
      /**
       * string nodeID = 2;
       * @return The nodeID.
       */
      public java.lang.String getNodeID() {
        java.lang.Object ref = nodeID_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          nodeID_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string nodeID = 2;
       * @return The bytes for nodeID.
       */
      public com.google.protobuf.ByteString
          getNodeIDBytes() {
        java.lang.Object ref = nodeID_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nodeID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string nodeID = 2;
       * @param value The nodeID to set.
       * @return This builder for chaining.
       */
      public Builder setNodeID(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        nodeID_ = value;
        onChanged();
        return this;
      }
      /**
       * string nodeID = 2;
       * @return This builder for chaining.
       */
      public Builder clearNodeID() {
        
        nodeID_ = getDefaultInstance().getNodeID();
        onChanged();
        return this;
      }
      /**
       * string nodeID = 2;
       * @param value The bytes for nodeID to set.
       * @return This builder for chaining.
       */
      public Builder setNodeIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        nodeID_ = value;
        onChanged();
        return this;
      }

      private int featureID_ ;
      /**
       * int32 featureID = 3;
       * @return The featureID.
       */
      @java.lang.Override
      public int getFeatureID() {
        return featureID_;
      }
      /**
       * int32 featureID = 3;
       * @param value The featureID to set.
       * @return This builder for chaining.
       */
      public Builder setFeatureID(int value) {
        
        featureID_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 featureID = 3;
       * @return This builder for chaining.
       */
      public Builder clearFeatureID() {
        
        featureID_ = 0;
        onChanged();
        return this;
      }

      private float splitValue_ ;
      /**
       * float splitValue = 4;
       * @return The splitValue.
       */
      @java.lang.Override
      public float getSplitValue() {
        return splitValue_;
      }
      /**
       * float splitValue = 4;
       * @param value The splitValue to set.
       * @return This builder for chaining.
       */
      public Builder setSplitValue(float value) {
        
        splitValue_ = value;
        onChanged();
        return this;
      }
      /**
       * float splitValue = 4;
       * @return This builder for chaining.
       */
      public Builder clearSplitValue() {
        
        splitValue_ = 0F;
        onChanged();
        return this;
      }

      private float gain_ ;
      /**
       * float gain = 5;
       * @return The gain.
       */
      @java.lang.Override
      public float getGain() {
        return gain_;
      }
      /**
       * float gain = 5;
       * @param value The gain to set.
       * @return This builder for chaining.
       */
      public Builder setGain(float value) {
        
        gain_ = value;
        onChanged();
        return this;
      }
      /**
       * float gain = 5;
       * @return This builder for chaining.
       */
      public Builder clearGain() {
        
        gain_ = 0F;
        onChanged();
        return this;
      }

      private int setLength_ ;
      /**
       * int32 setLength = 6;
       * @return The setLength.
       */
      @java.lang.Override
      public int getSetLength() {
        return setLength_;
      }
      /**
       * int32 setLength = 6;
       * @param value The setLength to set.
       * @return This builder for chaining.
       */
      public Builder setSetLength(int value) {
        
        setLength_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 setLength = 6;
       * @return This builder for chaining.
       */
      public Builder clearSetLength() {
        
        setLength_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList itemSet_ = emptyIntList();
      private void ensureItemSetIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          itemSet_ = mutableCopy(itemSet_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated int32 itemSet = 7;
       * @return A list containing the itemSet.
       */
      public java.util.List
          getItemSetList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(itemSet_) : itemSet_;
      }
      /**
       * repeated int32 itemSet = 7;
       * @return The count of itemSet.
       */
      public int getItemSetCount() {
        return itemSet_.size();
      }
      /**
       * repeated int32 itemSet = 7;
       * @param index The index of the element to return.
       * @return The itemSet at the given index.
       */
      public int getItemSet(int index) {
        return itemSet_.getInt(index);
      }
      /**
       * repeated int32 itemSet = 7;
       * @param index The index to set the value at.
       * @param value The itemSet to set.
       * @return This builder for chaining.
       */
      public Builder setItemSet(
          int index, int value) {
        ensureItemSetIsMutable();
        itemSet_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 itemSet = 7;
       * @param value The itemSet to add.
       * @return This builder for chaining.
       */
      public Builder addItemSet(int value) {
        ensureItemSetIsMutable();
        itemSet_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 itemSet = 7;
       * @param values The itemSet to add.
       * @return This builder for chaining.
       */
      public Builder addAllItemSet(
          java.lang.Iterable values) {
        ensureItemSetIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, itemSet_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 itemSet = 7;
       * @return This builder for chaining.
       */
      public Builder clearItemSet() {
        itemSet_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private java.lang.Object clientUid_ = "";
      /**
       * string clientUid = 8;
       * @return The clientUid.
       */
      public java.lang.String getClientUid() {
        java.lang.Object ref = clientUid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          clientUid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string clientUid = 8;
       * @return The bytes for clientUid.
       */
      public com.google.protobuf.ByteString
          getClientUidBytes() {
        java.lang.Object ref = clientUid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clientUid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string clientUid = 8;
       * @param value The clientUid to set.
       * @return This builder for chaining.
       */
      public Builder setClientUid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        clientUid_ = value;
        onChanged();
        return this;
      }
      /**
       * string clientUid = 8;
       * @return This builder for chaining.
       */
      public Builder clearClientUid() {
        
        clientUid_ = getDefaultInstance().getClientUid();
        onChanged();
        return this;
      }
      /**
       * string clientUid = 8;
       * @param value The bytes for clientUid to set.
       * @return This builder for chaining.
       */
      public Builder setClientUidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        clientUid_ = value;
        onChanged();
        return this;
      }

      private int version_ ;
      /**
       * int32 version = 9;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * int32 version = 9;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 version = 9;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.DataSplit)
    }

    // @@protoc_insertion_point(class_scope:fgboost.DataSplit)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UploadResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.UploadResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string response = 1;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * int32 code = 2;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.UploadResponse}
   */
  public static final class UploadResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.UploadResponse)
      UploadResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UploadResponse.newBuilder() to construct.
    private UploadResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private UploadResponse() {
      response_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UploadResponse();
    }

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

              response_ = s;
              break;
            }
            case 16: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.Builder.class);
    }

    public static final int RESPONSE_FIELD_NUMBER = 1;
    private volatile java.lang.Object response_;
    /**
     * string response = 1;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 2;
    private int code_;
    /**
     * int32 code = 2;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, response_);
      }
      if (code_ != 0) {
        output.writeInt32(2, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, response_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse) obj;

      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.UploadResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.UploadResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse(this);
        result.response_ = response_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse.getDefaultInstance()) return this;
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object response_ = "";
      /**
       * string response = 1;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 1;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 1;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 2;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 2;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 2;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.UploadResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.UploadResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TreePredictOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.TreePredict)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string treeID = 1;
     * @return The treeID.
     */
    java.lang.String getTreeID();
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    com.google.protobuf.ByteString
        getTreeIDBytes();

    /**
     * repeated bool predicts = 2;
     * @return A list containing the predicts.
     */
    java.util.List getPredictsList();
    /**
     * repeated bool predicts = 2;
     * @return The count of predicts.
     */
    int getPredictsCount();
    /**
     * repeated bool predicts = 2;
     * @param index The index of the element to return.
     * @return The predicts at the given index.
     */
    boolean getPredicts(int index);
  }
  /**
   * Protobuf type {@code fgboost.TreePredict}
   */
  public static final class TreePredict extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.TreePredict)
      TreePredictOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TreePredict.newBuilder() to construct.
    private TreePredict(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private TreePredict() {
      treeID_ = "";
      predicts_ = emptyBooleanList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TreePredict();
    }

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

              treeID_ = s;
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                predicts_ = newBooleanList();
                mutable_bitField0_ |= 0x00000001;
              }
              predicts_.addBoolean(input.readBool());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                predicts_ = newBooleanList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                predicts_.addBoolean(input.readBool());
              }
              input.popLimit(limit);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          predicts_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreePredict_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreePredict_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder.class);
    }

    public static final int TREEID_FIELD_NUMBER = 1;
    private volatile java.lang.Object treeID_;
    /**
     * string treeID = 1;
     * @return The treeID.
     */
    @java.lang.Override
    public java.lang.String getTreeID() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        treeID_ = s;
        return s;
      }
    }
    /**
     * string treeID = 1;
     * @return The bytes for treeID.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTreeIDBytes() {
      java.lang.Object ref = treeID_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        treeID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PREDICTS_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.BooleanList predicts_;
    /**
     * repeated bool predicts = 2;
     * @return A list containing the predicts.
     */
    @java.lang.Override
    public java.util.List
        getPredictsList() {
      return predicts_;
    }
    /**
     * repeated bool predicts = 2;
     * @return The count of predicts.
     */
    public int getPredictsCount() {
      return predicts_.size();
    }
    /**
     * repeated bool predicts = 2;
     * @param index The index of the element to return.
     * @return The predicts at the given index.
     */
    public boolean getPredicts(int index) {
      return predicts_.getBoolean(index);
    }
    private int predictsMemoizedSerializedSize = -1;

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (!getTreeIDBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, treeID_);
      }
      if (getPredictsList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(predictsMemoizedSerializedSize);
      }
      for (int i = 0; i < predicts_.size(); i++) {
        output.writeBoolNoTag(predicts_.getBoolean(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getTreeIDBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, treeID_);
      }
      {
        int dataSize = 0;
        dataSize = 1 * getPredictsList().size();
        size += dataSize;
        if (!getPredictsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        predictsMemoizedSerializedSize = dataSize;
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict) obj;

      if (!getTreeID()
          .equals(other.getTreeID())) return false;
      if (!getPredictsList()
          .equals(other.getPredictsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TREEID_FIELD_NUMBER;
      hash = (53 * hash) + getTreeID().hashCode();
      if (getPredictsCount() > 0) {
        hash = (37 * hash) + PREDICTS_FIELD_NUMBER;
        hash = (53 * hash) + getPredictsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.TreePredict}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.TreePredict)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreePredict_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreePredict_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        predicts_ = emptyBooleanList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_TreePredict_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict(this);
        int from_bitField0_ = bitField0_;
        result.treeID_ = treeID_;
        if (((bitField0_ & 0x00000001) != 0)) {
          predicts_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.predicts_ = predicts_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance()) return this;
        if (!other.getTreeID().isEmpty()) {
          treeID_ = other.treeID_;
          onChanged();
        }
        if (!other.predicts_.isEmpty()) {
          if (predicts_.isEmpty()) {
            predicts_ = other.predicts_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensurePredictsIsMutable();
            predicts_.addAll(other.predicts_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object treeID_ = "";
      /**
       * string treeID = 1;
       * @return The treeID.
       */
      public java.lang.String getTreeID() {
        java.lang.Object ref = treeID_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          treeID_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string treeID = 1;
       * @return The bytes for treeID.
       */
      public com.google.protobuf.ByteString
          getTreeIDBytes() {
        java.lang.Object ref = treeID_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          treeID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string treeID = 1;
       * @param value The treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeID(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        treeID_ = value;
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @return This builder for chaining.
       */
      public Builder clearTreeID() {
        
        treeID_ = getDefaultInstance().getTreeID();
        onChanged();
        return this;
      }
      /**
       * string treeID = 1;
       * @param value The bytes for treeID to set.
       * @return This builder for chaining.
       */
      public Builder setTreeIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        treeID_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.BooleanList predicts_ = emptyBooleanList();
      private void ensurePredictsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          predicts_ = mutableCopy(predicts_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated bool predicts = 2;
       * @return A list containing the predicts.
       */
      public java.util.List
          getPredictsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(predicts_) : predicts_;
      }
      /**
       * repeated bool predicts = 2;
       * @return The count of predicts.
       */
      public int getPredictsCount() {
        return predicts_.size();
      }
      /**
       * repeated bool predicts = 2;
       * @param index The index of the element to return.
       * @return The predicts at the given index.
       */
      public boolean getPredicts(int index) {
        return predicts_.getBoolean(index);
      }
      /**
       * repeated bool predicts = 2;
       * @param index The index to set the value at.
       * @param value The predicts to set.
       * @return This builder for chaining.
       */
      public Builder setPredicts(
          int index, boolean value) {
        ensurePredictsIsMutable();
        predicts_.setBoolean(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated bool predicts = 2;
       * @param value The predicts to add.
       * @return This builder for chaining.
       */
      public Builder addPredicts(boolean value) {
        ensurePredictsIsMutable();
        predicts_.addBoolean(value);
        onChanged();
        return this;
      }
      /**
       * repeated bool predicts = 2;
       * @param values The predicts to add.
       * @return This builder for chaining.
       */
      public Builder addAllPredicts(
          java.lang.Iterable values) {
        ensurePredictsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, predicts_);
        onChanged();
        return this;
      }
      /**
       * repeated bool predicts = 2;
       * @return This builder for chaining.
       */
      public Builder clearPredicts() {
        predicts_ = emptyBooleanList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.TreePredict)
    }

    // @@protoc_insertion_point(class_scope:fgboost.TreePredict)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface BoostPredictOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.BoostPredict)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    java.util.List 
        getPredictsList();
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getPredicts(int index);
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    int getPredictsCount();
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    java.util.List 
        getPredictsOrBuilderList();
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getPredictsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code fgboost.BoostPredict}
   */
  public static final class BoostPredict extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.BoostPredict)
      BoostPredictOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use BoostPredict.newBuilder() to construct.
    private BoostPredict(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private BoostPredict() {
      predicts_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new BoostPredict();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private BoostPredict(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                predicts_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              predicts_.add(
                  input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          predicts_ = java.util.Collections.unmodifiableList(predicts_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostPredict_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostPredict_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.Builder.class);
    }

    public static final int PREDICTS_FIELD_NUMBER = 1;
    private java.util.List predicts_;
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    @java.lang.Override
    public java.util.List getPredictsList() {
      return predicts_;
    }
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    @java.lang.Override
    public java.util.List 
        getPredictsOrBuilderList() {
      return predicts_;
    }
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    @java.lang.Override
    public int getPredictsCount() {
      return predicts_.size();
    }
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getPredicts(int index) {
      return predicts_.get(index);
    }
    /**
     * repeated .fgboost.TreePredict predicts = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getPredictsOrBuilder(
        int index) {
      return predicts_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < predicts_.size(); i++) {
        output.writeMessage(1, predicts_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < predicts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, predicts_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict) obj;

      if (!getPredictsList()
          .equals(other.getPredictsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getPredictsCount() > 0) {
        hash = (37 * hash) + PREDICTS_FIELD_NUMBER;
        hash = (53 * hash) + getPredictsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.BoostPredict}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.BoostPredict)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredictOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostPredict_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostPredict_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPredictsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (predictsBuilder_ == null) {
          predicts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          predictsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostPredict_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict(this);
        int from_bitField0_ = bitField0_;
        if (predictsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            predicts_ = java.util.Collections.unmodifiableList(predicts_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.predicts_ = predicts_;
        } else {
          result.predicts_ = predictsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict.getDefaultInstance()) return this;
        if (predictsBuilder_ == null) {
          if (!other.predicts_.isEmpty()) {
            if (predicts_.isEmpty()) {
              predicts_ = other.predicts_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensurePredictsIsMutable();
              predicts_.addAll(other.predicts_);
            }
            onChanged();
          }
        } else {
          if (!other.predicts_.isEmpty()) {
            if (predictsBuilder_.isEmpty()) {
              predictsBuilder_.dispose();
              predictsBuilder_ = null;
              predicts_ = other.predicts_;
              bitField0_ = (bitField0_ & ~0x00000001);
              predictsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPredictsFieldBuilder() : null;
            } else {
              predictsBuilder_.addAllMessages(other.predicts_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.util.List predicts_ =
        java.util.Collections.emptyList();
      private void ensurePredictsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          predicts_ = new java.util.ArrayList(predicts_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder> predictsBuilder_;

      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public java.util.List getPredictsList() {
        if (predictsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(predicts_);
        } else {
          return predictsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public int getPredictsCount() {
        if (predictsBuilder_ == null) {
          return predicts_.size();
        } else {
          return predictsBuilder_.getCount();
        }
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getPredicts(int index) {
        if (predictsBuilder_ == null) {
          return predicts_.get(index);
        } else {
          return predictsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder setPredicts(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (predictsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePredictsIsMutable();
          predicts_.set(index, value);
          onChanged();
        } else {
          predictsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder setPredicts(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (predictsBuilder_ == null) {
          ensurePredictsIsMutable();
          predicts_.set(index, builderForValue.build());
          onChanged();
        } else {
          predictsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder addPredicts(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (predictsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePredictsIsMutable();
          predicts_.add(value);
          onChanged();
        } else {
          predictsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder addPredicts(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (predictsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePredictsIsMutable();
          predicts_.add(index, value);
          onChanged();
        } else {
          predictsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder addPredicts(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (predictsBuilder_ == null) {
          ensurePredictsIsMutable();
          predicts_.add(builderForValue.build());
          onChanged();
        } else {
          predictsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder addPredicts(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (predictsBuilder_ == null) {
          ensurePredictsIsMutable();
          predicts_.add(index, builderForValue.build());
          onChanged();
        } else {
          predictsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder addAllPredicts(
          java.lang.Iterable values) {
        if (predictsBuilder_ == null) {
          ensurePredictsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, predicts_);
          onChanged();
        } else {
          predictsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder clearPredicts() {
        if (predictsBuilder_ == null) {
          predicts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          predictsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public Builder removePredicts(int index) {
        if (predictsBuilder_ == null) {
          ensurePredictsIsMutable();
          predicts_.remove(index);
          onChanged();
        } else {
          predictsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder getPredictsBuilder(
          int index) {
        return getPredictsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getPredictsOrBuilder(
          int index) {
        if (predictsBuilder_ == null) {
          return predicts_.get(index);  } else {
          return predictsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public java.util.List 
           getPredictsOrBuilderList() {
        if (predictsBuilder_ != null) {
          return predictsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(predicts_);
        }
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder addPredictsBuilder() {
        return getPredictsFieldBuilder().addBuilder(
            com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance());
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder addPredictsBuilder(
          int index) {
        return getPredictsFieldBuilder().addBuilder(
            index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance());
      }
      /**
       * repeated .fgboost.TreePredict predicts = 1;
       */
      public java.util.List 
           getPredictsBuilderList() {
        return getPredictsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder> 
          getPredictsFieldBuilder() {
        if (predictsBuilder_ == null) {
          predictsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder>(
                  predicts_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          predicts_ = null;
        }
        return predictsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.BoostPredict)
    }

    // @@protoc_insertion_point(class_scope:fgboost.BoostPredict)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostPredict getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface BoostEvalOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.BoostEval)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    java.util.List 
        getEvaluatesList();
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getEvaluates(int index);
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    int getEvaluatesCount();
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    java.util.List 
        getEvaluatesOrBuilderList();
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getEvaluatesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code fgboost.BoostEval}
   */
  public static final class BoostEval extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.BoostEval)
      BoostEvalOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use BoostEval.newBuilder() to construct.
    private BoostEval(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private BoostEval() {
      evaluates_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new BoostEval();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private BoostEval(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                evaluates_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              evaluates_.add(
                  input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          evaluates_ = java.util.Collections.unmodifiableList(evaluates_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostEval_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostEval_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder.class);
    }

    public static final int EVALUATES_FIELD_NUMBER = 1;
    private java.util.List evaluates_;
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    @java.lang.Override
    public java.util.List getEvaluatesList() {
      return evaluates_;
    }
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    @java.lang.Override
    public java.util.List 
        getEvaluatesOrBuilderList() {
      return evaluates_;
    }
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    @java.lang.Override
    public int getEvaluatesCount() {
      return evaluates_.size();
    }
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getEvaluates(int index) {
      return evaluates_.get(index);
    }
    /**
     * repeated .fgboost.TreePredict evaluates = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getEvaluatesOrBuilder(
        int index) {
      return evaluates_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < evaluates_.size(); i++) {
        output.writeMessage(1, evaluates_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < evaluates_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, evaluates_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval) obj;

      if (!getEvaluatesList()
          .equals(other.getEvaluatesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getEvaluatesCount() > 0) {
        hash = (37 * hash) + EVALUATES_FIELD_NUMBER;
        hash = (53 * hash) + getEvaluatesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.BoostEval}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.BoostEval)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostEval_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostEval_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEvaluatesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (evaluatesBuilder_ == null) {
          evaluates_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          evaluatesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_BoostEval_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval(this);
        int from_bitField0_ = bitField0_;
        if (evaluatesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            evaluates_ = java.util.Collections.unmodifiableList(evaluates_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.evaluates_ = evaluates_;
        } else {
          result.evaluates_ = evaluatesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance()) return this;
        if (evaluatesBuilder_ == null) {
          if (!other.evaluates_.isEmpty()) {
            if (evaluates_.isEmpty()) {
              evaluates_ = other.evaluates_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureEvaluatesIsMutable();
              evaluates_.addAll(other.evaluates_);
            }
            onChanged();
          }
        } else {
          if (!other.evaluates_.isEmpty()) {
            if (evaluatesBuilder_.isEmpty()) {
              evaluatesBuilder_.dispose();
              evaluatesBuilder_ = null;
              evaluates_ = other.evaluates_;
              bitField0_ = (bitField0_ & ~0x00000001);
              evaluatesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getEvaluatesFieldBuilder() : null;
            } else {
              evaluatesBuilder_.addAllMessages(other.evaluates_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.util.List evaluates_ =
        java.util.Collections.emptyList();
      private void ensureEvaluatesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          evaluates_ = new java.util.ArrayList(evaluates_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder> evaluatesBuilder_;

      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public java.util.List getEvaluatesList() {
        if (evaluatesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(evaluates_);
        } else {
          return evaluatesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public int getEvaluatesCount() {
        if (evaluatesBuilder_ == null) {
          return evaluates_.size();
        } else {
          return evaluatesBuilder_.getCount();
        }
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict getEvaluates(int index) {
        if (evaluatesBuilder_ == null) {
          return evaluates_.get(index);
        } else {
          return evaluatesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder setEvaluates(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (evaluatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvaluatesIsMutable();
          evaluates_.set(index, value);
          onChanged();
        } else {
          evaluatesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder setEvaluates(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (evaluatesBuilder_ == null) {
          ensureEvaluatesIsMutable();
          evaluates_.set(index, builderForValue.build());
          onChanged();
        } else {
          evaluatesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder addEvaluates(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (evaluatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvaluatesIsMutable();
          evaluates_.add(value);
          onChanged();
        } else {
          evaluatesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder addEvaluates(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict value) {
        if (evaluatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvaluatesIsMutable();
          evaluates_.add(index, value);
          onChanged();
        } else {
          evaluatesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder addEvaluates(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (evaluatesBuilder_ == null) {
          ensureEvaluatesIsMutable();
          evaluates_.add(builderForValue.build());
          onChanged();
        } else {
          evaluatesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder addEvaluates(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder builderForValue) {
        if (evaluatesBuilder_ == null) {
          ensureEvaluatesIsMutable();
          evaluates_.add(index, builderForValue.build());
          onChanged();
        } else {
          evaluatesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder addAllEvaluates(
          java.lang.Iterable values) {
        if (evaluatesBuilder_ == null) {
          ensureEvaluatesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, evaluates_);
          onChanged();
        } else {
          evaluatesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder clearEvaluates() {
        if (evaluatesBuilder_ == null) {
          evaluates_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          evaluatesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public Builder removeEvaluates(int index) {
        if (evaluatesBuilder_ == null) {
          ensureEvaluatesIsMutable();
          evaluates_.remove(index);
          onChanged();
        } else {
          evaluatesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder getEvaluatesBuilder(
          int index) {
        return getEvaluatesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder getEvaluatesOrBuilder(
          int index) {
        if (evaluatesBuilder_ == null) {
          return evaluates_.get(index);  } else {
          return evaluatesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public java.util.List 
           getEvaluatesOrBuilderList() {
        if (evaluatesBuilder_ != null) {
          return evaluatesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(evaluates_);
        }
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder addEvaluatesBuilder() {
        return getEvaluatesFieldBuilder().addBuilder(
            com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance());
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder addEvaluatesBuilder(
          int index) {
        return getEvaluatesFieldBuilder().addBuilder(
            index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.getDefaultInstance());
      }
      /**
       * repeated .fgboost.TreePredict evaluates = 1;
       */
      public java.util.List 
           getEvaluatesBuilderList() {
        return getEvaluatesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder> 
          getEvaluatesFieldBuilder() {
        if (evaluatesBuilder_ == null) {
          evaluatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredict.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.TreePredictOrBuilder>(
                  evaluates_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          evaluates_ = null;
        }
        return evaluatesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.BoostEval)
    }

    // @@protoc_insertion_point(class_scope:fgboost.BoostEval)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegisterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.RegisterRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * string token = 2;
     * @return The token.
     */
    java.lang.String getToken();
    /**
     * string token = 2;
     * @return The bytes for token.
     */
    com.google.protobuf.ByteString
        getTokenBytes();
  }
  /**
   * Protobuf type {@code fgboost.RegisterRequest}
   */
  public static final class RegisterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.RegisterRequest)
      RegisterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegisterRequest.newBuilder() to construct.
    private RegisterRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private RegisterRequest() {
      token_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegisterRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              token_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object token_;
    /**
     * string token = 2;
     * @return The token.
     */
    @java.lang.Override
    public java.lang.String getToken() {
      java.lang.Object ref = token_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        token_ = s;
        return s;
      }
    }
    /**
     * string token = 2;
     * @return The bytes for token.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTokenBytes() {
      java.lang.Object ref = token_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        token_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (!getTokenBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, token_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (!getTokenBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, token_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (!getToken()
          .equals(other.getToken())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      hash = (37 * hash) + TOKEN_FIELD_NUMBER;
      hash = (53 * hash) + getToken().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.RegisterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.RegisterRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        token_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest(this);
        result.clientuuid_ = clientuuid_;
        result.token_ = token_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (!other.getToken().isEmpty()) {
          token_ = other.token_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object token_ = "";
      /**
       * string token = 2;
       * @return The token.
       */
      public java.lang.String getToken() {
        java.lang.Object ref = token_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          token_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string token = 2;
       * @return The bytes for token.
       */
      public com.google.protobuf.ByteString
          getTokenBytes() {
        java.lang.Object ref = token_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          token_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string token = 2;
       * @param value The token to set.
       * @return This builder for chaining.
       */
      public Builder setToken(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        token_ = value;
        onChanged();
        return this;
      }
      /**
       * string token = 2;
       * @return This builder for chaining.
       */
      public Builder clearToken() {
        
        token_ = getDefaultInstance().getToken();
        onChanged();
        return this;
      }
      /**
       * string token = 2;
       * @param value The bytes for token to set.
       * @return This builder for chaining.
       */
      public Builder setTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        token_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.RegisterRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.RegisterRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegisterResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.RegisterResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string response = 1;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * int32 code = 2;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.RegisterResponse}
   */
  public static final class RegisterResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.RegisterResponse)
      RegisterResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegisterResponse.newBuilder() to construct.
    private RegisterResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private RegisterResponse() {
      response_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegisterResponse();
    }

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

              response_ = s;
              break;
            }
            case 16: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.Builder.class);
    }

    public static final int RESPONSE_FIELD_NUMBER = 1;
    private volatile java.lang.Object response_;
    /**
     * string response = 1;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 2;
    private int code_;
    /**
     * int32 code = 2;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, response_);
      }
      if (code_ != 0) {
        output.writeInt32(2, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, response_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse) obj;

      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.RegisterResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.RegisterResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_RegisterResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse(this);
        result.response_ = response_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse.getDefaultInstance()) return this;
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object response_ = "";
      /**
       * string response = 1;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 1;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 1;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 2;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 2;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 2;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.RegisterResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.RegisterResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.RegisterResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UploadTreeEvalRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.UploadTreeEvalRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * int32 version = 2;
     * @return The version.
     */
    int getVersion();

    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    java.util.List 
        getTreeEvalList();
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index);
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    int getTreeEvalCount();
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    java.util.List 
        getTreeEvalOrBuilderList();
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code fgboost.UploadTreeEvalRequest}
   */
  public static final class UploadTreeEvalRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.UploadTreeEvalRequest)
      UploadTreeEvalRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UploadTreeEvalRequest.newBuilder() to construct.
    private UploadTreeEvalRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private UploadTreeEvalRequest() {
      treeEval_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UploadTreeEvalRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 16: {

              version_ = input.readInt32();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                treeEval_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              treeEval_.add(
                  input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeEvalRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeEvalRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int VERSION_FIELD_NUMBER = 2;
    private int version_;
    /**
     * int32 version = 2;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

    public static final int TREEEVAL_FIELD_NUMBER = 3;
    private java.util.List treeEval_;
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    @java.lang.Override
    public java.util.List getTreeEvalList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    @java.lang.Override
    public java.util.List 
        getTreeEvalOrBuilderList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    @java.lang.Override
    public int getTreeEvalCount() {
      return treeEval_.size();
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
      return treeEval_.get(index);
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 3;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index) {
      return treeEval_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (version_ != 0) {
        output.writeInt32(2, version_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        output.writeMessage(3, treeEval_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (version_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, version_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, treeEval_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (getVersion()
          != other.getVersion()) return false;
      if (!getTreeEvalList()
          .equals(other.getTreeEvalList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion();
      if (getTreeEvalCount() > 0) {
        hash = (37 * hash) + TREEEVAL_FIELD_NUMBER;
        hash = (53 * hash) + getTreeEvalList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.UploadTreeEvalRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.UploadTreeEvalRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeEvalRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeEvalRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        version_ = 0;

        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          treeEvalBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_UploadTreeEvalRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest(this);
        int from_bitField0_ = bitField0_;
        result.clientuuid_ = clientuuid_;
        result.version_ = version_;
        if (treeEvalBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.treeEval_ = treeEval_;
        } else {
          result.treeEval_ = treeEvalBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (other.getVersion() != 0) {
          setVersion(other.getVersion());
        }
        if (treeEvalBuilder_ == null) {
          if (!other.treeEval_.isEmpty()) {
            if (treeEval_.isEmpty()) {
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTreeEvalIsMutable();
              treeEval_.addAll(other.treeEval_);
            }
            onChanged();
          }
        } else {
          if (!other.treeEval_.isEmpty()) {
            if (treeEvalBuilder_.isEmpty()) {
              treeEvalBuilder_.dispose();
              treeEvalBuilder_ = null;
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
              treeEvalBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getTreeEvalFieldBuilder() : null;
            } else {
              treeEvalBuilder_.addAllMessages(other.treeEval_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private int version_ ;
      /**
       * int32 version = 2;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * int32 version = 2;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 version = 2;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = 0;
        onChanged();
        return this;
      }

      private java.util.List treeEval_ =
        java.util.Collections.emptyList();
      private void ensureTreeEvalIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          treeEval_ = new java.util.ArrayList(treeEval_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> treeEvalBuilder_;

      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public java.util.List getTreeEvalList() {
        if (treeEvalBuilder_ == null) {
          return java.util.Collections.unmodifiableList(treeEval_);
        } else {
          return treeEvalBuilder_.getMessageList();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public int getTreeEvalCount() {
        if (treeEvalBuilder_ == null) {
          return treeEval_.size();
        } else {
          return treeEvalBuilder_.getCount();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);
        } else {
          return treeEvalBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.set(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.set(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder addTreeEval(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder addTreeEval(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder addAllTreeEval(
          java.lang.Iterable values) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, treeEval_);
          onChanged();
        } else {
          treeEvalBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder clearTreeEval() {
        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          treeEvalBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public Builder removeTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.remove(index);
          onChanged();
        } else {
          treeEvalBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder getTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
          int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);  } else {
          return treeEvalBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public java.util.List 
           getTreeEvalOrBuilderList() {
        if (treeEvalBuilder_ != null) {
          return treeEvalBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(treeEval_);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder() {
        return getTreeEvalFieldBuilder().addBuilder(
            com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().addBuilder(
            index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 3;
       */
      public java.util.List 
           getTreeEvalBuilderList() {
        return getTreeEvalFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> 
          getTreeEvalFieldBuilder() {
        if (treeEvalBuilder_ == null) {
          treeEvalBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder>(
                  treeEval_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          treeEval_ = null;
        }
        return treeEvalBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.UploadTreeEvalRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.UploadTreeEvalRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.UploadTreeEvalRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EvaluateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.EvaluateRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    java.util.List 
        getTreeEvalList();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index);
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    int getTreeEvalCount();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    java.util.List 
        getTreeEvalOrBuilderList();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index);

    /**
     * int32 version = 3;
     * @return The version.
     */
    int getVersion();

    /**
     * bool lastBatch = 4;
     * @return The lastBatch.
     */
    boolean getLastBatch();
  }
  /**
   * Protobuf type {@code fgboost.EvaluateRequest}
   */
  public static final class EvaluateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.EvaluateRequest)
      EvaluateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use EvaluateRequest.newBuilder() to construct.
    private EvaluateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private EvaluateRequest() {
      treeEval_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new EvaluateRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                treeEval_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              treeEval_.add(
                  input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.parser(), extensionRegistry));
              break;
            }
            case 24: {

              version_ = input.readInt32();
              break;
            }
            case 32: {

              lastBatch_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int TREEEVAL_FIELD_NUMBER = 2;
    private java.util.List treeEval_;
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public java.util.List getTreeEvalList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public java.util.List 
        getTreeEvalOrBuilderList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public int getTreeEvalCount() {
      return treeEval_.size();
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
      return treeEval_.get(index);
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index) {
      return treeEval_.get(index);
    }

    public static final int VERSION_FIELD_NUMBER = 3;
    private int version_;
    /**
     * int32 version = 3;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

    public static final int LASTBATCH_FIELD_NUMBER = 4;
    private boolean lastBatch_;
    /**
     * bool lastBatch = 4;
     * @return The lastBatch.
     */
    @java.lang.Override
    public boolean getLastBatch() {
      return lastBatch_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        output.writeMessage(2, treeEval_.get(i));
      }
      if (version_ != 0) {
        output.writeInt32(3, version_);
      }
      if (lastBatch_ != false) {
        output.writeBool(4, lastBatch_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, treeEval_.get(i));
      }
      if (version_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, version_);
      }
      if (lastBatch_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, lastBatch_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (!getTreeEvalList()
          .equals(other.getTreeEvalList())) return false;
      if (getVersion()
          != other.getVersion()) return false;
      if (getLastBatch()
          != other.getLastBatch()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      if (getTreeEvalCount() > 0) {
        hash = (37 * hash) + TREEEVAL_FIELD_NUMBER;
        hash = (53 * hash) + getTreeEvalList().hashCode();
      }
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion();
      hash = (37 * hash) + LASTBATCH_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getLastBatch());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.EvaluateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.EvaluateRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          treeEvalBuilder_.clear();
        }
        version_ = 0;

        lastBatch_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest(this);
        int from_bitField0_ = bitField0_;
        result.clientuuid_ = clientuuid_;
        if (treeEvalBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.treeEval_ = treeEval_;
        } else {
          result.treeEval_ = treeEvalBuilder_.build();
        }
        result.version_ = version_;
        result.lastBatch_ = lastBatch_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (treeEvalBuilder_ == null) {
          if (!other.treeEval_.isEmpty()) {
            if (treeEval_.isEmpty()) {
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTreeEvalIsMutable();
              treeEval_.addAll(other.treeEval_);
            }
            onChanged();
          }
        } else {
          if (!other.treeEval_.isEmpty()) {
            if (treeEvalBuilder_.isEmpty()) {
              treeEvalBuilder_.dispose();
              treeEvalBuilder_ = null;
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
              treeEvalBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getTreeEvalFieldBuilder() : null;
            } else {
              treeEvalBuilder_.addAllMessages(other.treeEval_);
            }
          }
        }
        if (other.getVersion() != 0) {
          setVersion(other.getVersion());
        }
        if (other.getLastBatch() != false) {
          setLastBatch(other.getLastBatch());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private java.util.List treeEval_ =
        java.util.Collections.emptyList();
      private void ensureTreeEvalIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          treeEval_ = new java.util.ArrayList(treeEval_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> treeEvalBuilder_;

      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List getTreeEvalList() {
        if (treeEvalBuilder_ == null) {
          return java.util.Collections.unmodifiableList(treeEval_);
        } else {
          return treeEvalBuilder_.getMessageList();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public int getTreeEvalCount() {
        if (treeEvalBuilder_ == null) {
          return treeEval_.size();
        } else {
          return treeEvalBuilder_.getCount();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);
        } else {
          return treeEvalBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.set(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.set(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addAllTreeEval(
          java.lang.Iterable values) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, treeEval_);
          onChanged();
        } else {
          treeEvalBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder clearTreeEval() {
        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          treeEvalBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder removeTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.remove(index);
          onChanged();
        } else {
          treeEvalBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder getTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
          int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);  } else {
          return treeEvalBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List 
           getTreeEvalOrBuilderList() {
        if (treeEvalBuilder_ != null) {
          return treeEvalBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(treeEval_);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder() {
        return getTreeEvalFieldBuilder().addBuilder(
            com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().addBuilder(
            index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List 
           getTreeEvalBuilderList() {
        return getTreeEvalFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> 
          getTreeEvalFieldBuilder() {
        if (treeEvalBuilder_ == null) {
          treeEvalBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder>(
                  treeEval_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          treeEval_ = null;
        }
        return treeEvalBuilder_;
      }

      private int version_ ;
      /**
       * int32 version = 3;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * int32 version = 3;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 version = 3;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = 0;
        onChanged();
        return this;
      }

      private boolean lastBatch_ ;
      /**
       * bool lastBatch = 4;
       * @return The lastBatch.
       */
      @java.lang.Override
      public boolean getLastBatch() {
        return lastBatch_;
      }
      /**
       * bool lastBatch = 4;
       * @param value The lastBatch to set.
       * @return This builder for chaining.
       */
      public Builder setLastBatch(boolean value) {
        
        lastBatch_ = value;
        onChanged();
        return this;
      }
      /**
       * bool lastBatch = 4;
       * @return This builder for chaining.
       */
      public Builder clearLastBatch() {
        
        lastBatch_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.EvaluateRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.EvaluateRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EvaluateResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.EvaluateResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string response = 1;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData();
    /**
     * .TensorMap data = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder();

    /**
     * int32 code = 3;
     * @return The code.
     */
    int getCode();

    /**
     * string message = 4;
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * string message = 4;
     * @return The bytes for message.
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code fgboost.EvaluateResponse}
   */
  public static final class EvaluateResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.EvaluateResponse)
      EvaluateResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use EvaluateResponse.newBuilder() to construct.
    private EvaluateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private EvaluateResponse() {
      response_ = "";
      message_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new EvaluateResponse();
    }

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

              response_ = s;
              break;
            }
            case 18: {
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder subBuilder = null;
              if (data_ != null) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }

              break;
            }
            case 24: {

              code_ = input.readInt32();
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              message_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.Builder.class);
    }

    public static final int RESPONSE_FIELD_NUMBER = 1;
    private volatile java.lang.Object response_;
    /**
     * string response = 1;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
      return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
    }
    /**
     * .TensorMap data = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
      return getData();
    }

    public static final int CODE_FIELD_NUMBER = 3;
    private int code_;
    /**
     * int32 code = 3;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

    public static final int MESSAGE_FIELD_NUMBER = 4;
    private volatile java.lang.Object message_;
    /**
     * string message = 4;
     * @return The message.
     */
    @java.lang.Override
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        message_ = s;
        return s;
      }
    }
    /**
     * string message = 4;
     * @return The bytes for message.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, response_);
      }
      if (data_ != null) {
        output.writeMessage(2, getData());
      }
      if (code_ != 0) {
        output.writeInt32(3, code_);
      }
      if (!getMessageBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, message_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, response_);
      }
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getData());
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, code_);
      }
      if (!getMessageBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, message_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse) obj;

      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (hasData() != other.hasData()) return false;
      if (hasData()) {
        if (!getData()
            .equals(other.getData())) return false;
      }
      if (getCode()
          != other.getCode()) return false;
      if (!getMessage()
          .equals(other.getMessage())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
      hash = (53 * hash) + getMessage().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.EvaluateResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.EvaluateResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          data_ = null;
          dataBuilder_ = null;
        }
        code_ = 0;

        message_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_EvaluateResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse(this);
        result.response_ = response_;
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        result.code_ = code_;
        result.message_ = message_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse.getDefaultInstance()) return this;
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        if (!other.getMessage().isEmpty()) {
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object response_ = "";
      /**
       * string response = 1;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 1;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 1;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> dataBuilder_;
      /**
       * .TensorMap data = 2;
       * @return Whether the data field is set.
       */
      public boolean hasData() {
        return dataBuilder_ != null || data_ != null;
      }
      /**
       * .TensorMap data = 2;
       * @return The data.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder mergeData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (data_ != null) {
            data_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          data_ = null;
          dataBuilder_ = null;
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder getDataBuilder() {
        
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        }
      }
      /**
       * .TensorMap data = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private int code_ ;
      /**
       * int32 code = 3;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 3;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 3;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object message_ = "";
      /**
       * string message = 4;
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string message = 4;
       * @return The bytes for message.
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string message = 4;
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * string message = 4;
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * string message = 4;
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        message_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.EvaluateResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.EvaluateResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.EvaluateResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PredictRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.PredictRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    java.util.List 
        getTreeEvalList();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index);
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    int getTreeEvalCount();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    java.util.List 
        getTreeEvalOrBuilderList();
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index);

    /**
     * int32 version = 3;
     * @return The version.
     */
    int getVersion();

    /**
     * bool lastBatch = 4;
     * @return The lastBatch.
     */
    boolean getLastBatch();
  }
  /**
   * Protobuf type {@code fgboost.PredictRequest}
   */
  public static final class PredictRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.PredictRequest)
      PredictRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PredictRequest.newBuilder() to construct.
    private PredictRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PredictRequest() {
      treeEval_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PredictRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                treeEval_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              treeEval_.add(
                  input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.parser(), extensionRegistry));
              break;
            }
            case 24: {

              version_ = input.readInt32();
              break;
            }
            case 32: {

              lastBatch_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int TREEEVAL_FIELD_NUMBER = 2;
    private java.util.List treeEval_;
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public java.util.List getTreeEvalList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public java.util.List 
        getTreeEvalOrBuilderList() {
      return treeEval_;
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public int getTreeEvalCount() {
      return treeEval_.size();
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
      return treeEval_.get(index);
    }
    /**
     * repeated .fgboost.BoostEval treeEval = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
        int index) {
      return treeEval_.get(index);
    }

    public static final int VERSION_FIELD_NUMBER = 3;
    private int version_;
    /**
     * int32 version = 3;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

    public static final int LASTBATCH_FIELD_NUMBER = 4;
    private boolean lastBatch_;
    /**
     * bool lastBatch = 4;
     * @return The lastBatch.
     */
    @java.lang.Override
    public boolean getLastBatch() {
      return lastBatch_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        output.writeMessage(2, treeEval_.get(i));
      }
      if (version_ != 0) {
        output.writeInt32(3, version_);
      }
      if (lastBatch_ != false) {
        output.writeBool(4, lastBatch_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      for (int i = 0; i < treeEval_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, treeEval_.get(i));
      }
      if (version_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, version_);
      }
      if (lastBatch_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, lastBatch_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (!getTreeEvalList()
          .equals(other.getTreeEvalList())) return false;
      if (getVersion()
          != other.getVersion()) return false;
      if (getLastBatch()
          != other.getLastBatch()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      if (getTreeEvalCount() > 0) {
        hash = (37 * hash) + TREEEVAL_FIELD_NUMBER;
        hash = (53 * hash) + getTreeEvalList().hashCode();
      }
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion();
      hash = (37 * hash) + LASTBATCH_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getLastBatch());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.PredictRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.PredictRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          treeEvalBuilder_.clear();
        }
        version_ = 0;

        lastBatch_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest(this);
        int from_bitField0_ = bitField0_;
        result.clientuuid_ = clientuuid_;
        if (treeEvalBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            treeEval_ = java.util.Collections.unmodifiableList(treeEval_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.treeEval_ = treeEval_;
        } else {
          result.treeEval_ = treeEvalBuilder_.build();
        }
        result.version_ = version_;
        result.lastBatch_ = lastBatch_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (treeEvalBuilder_ == null) {
          if (!other.treeEval_.isEmpty()) {
            if (treeEval_.isEmpty()) {
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTreeEvalIsMutable();
              treeEval_.addAll(other.treeEval_);
            }
            onChanged();
          }
        } else {
          if (!other.treeEval_.isEmpty()) {
            if (treeEvalBuilder_.isEmpty()) {
              treeEvalBuilder_.dispose();
              treeEvalBuilder_ = null;
              treeEval_ = other.treeEval_;
              bitField0_ = (bitField0_ & ~0x00000001);
              treeEvalBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getTreeEvalFieldBuilder() : null;
            } else {
              treeEvalBuilder_.addAllMessages(other.treeEval_);
            }
          }
        }
        if (other.getVersion() != 0) {
          setVersion(other.getVersion());
        }
        if (other.getLastBatch() != false) {
          setLastBatch(other.getLastBatch());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private java.util.List treeEval_ =
        java.util.Collections.emptyList();
      private void ensureTreeEvalIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          treeEval_ = new java.util.ArrayList(treeEval_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> treeEvalBuilder_;

      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List getTreeEvalList() {
        if (treeEvalBuilder_ == null) {
          return java.util.Collections.unmodifiableList(treeEval_);
        } else {
          return treeEvalBuilder_.getMessageList();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public int getTreeEvalCount() {
        if (treeEvalBuilder_ == null) {
          return treeEval_.size();
        } else {
          return treeEvalBuilder_.getCount();
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval getTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);
        } else {
          return treeEvalBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.set(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder setTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.set(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval value) {
        if (treeEvalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTreeEvalIsMutable();
          treeEval_.add(index, value);
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addTreeEval(
          int index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder builderForValue) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.add(index, builderForValue.build());
          onChanged();
        } else {
          treeEvalBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder addAllTreeEval(
          java.lang.Iterable values) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, treeEval_);
          onChanged();
        } else {
          treeEvalBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder clearTreeEval() {
        if (treeEvalBuilder_ == null) {
          treeEval_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          treeEvalBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public Builder removeTreeEval(int index) {
        if (treeEvalBuilder_ == null) {
          ensureTreeEvalIsMutable();
          treeEval_.remove(index);
          onChanged();
        } else {
          treeEvalBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder getTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder getTreeEvalOrBuilder(
          int index) {
        if (treeEvalBuilder_ == null) {
          return treeEval_.get(index);  } else {
          return treeEvalBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List 
           getTreeEvalOrBuilderList() {
        if (treeEvalBuilder_ != null) {
          return treeEvalBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(treeEval_);
        }
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder() {
        return getTreeEvalFieldBuilder().addBuilder(
            com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder addTreeEvalBuilder(
          int index) {
        return getTreeEvalFieldBuilder().addBuilder(
            index, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.getDefaultInstance());
      }
      /**
       * repeated .fgboost.BoostEval treeEval = 2;
       */
      public java.util.List 
           getTreeEvalBuilderList() {
        return getTreeEvalFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder> 
          getTreeEvalFieldBuilder() {
        if (treeEvalBuilder_ == null) {
          treeEvalBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEval.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.BoostEvalOrBuilder>(
                  treeEval_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          treeEval_ = null;
        }
        return treeEvalBuilder_;
      }

      private int version_ ;
      /**
       * int32 version = 3;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * int32 version = 3;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 version = 3;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = 0;
        onChanged();
        return this;
      }

      private boolean lastBatch_ ;
      /**
       * bool lastBatch = 4;
       * @return The lastBatch.
       */
      @java.lang.Override
      public boolean getLastBatch() {
        return lastBatch_;
      }
      /**
       * bool lastBatch = 4;
       * @param value The lastBatch to set.
       * @return This builder for chaining.
       */
      public Builder setLastBatch(boolean value) {
        
        lastBatch_ = value;
        onChanged();
        return this;
      }
      /**
       * bool lastBatch = 4;
       * @return This builder for chaining.
       */
      public Builder clearLastBatch() {
        
        lastBatch_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.PredictRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.PredictRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SplitRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.SplitRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * .fgboost.DataSplit split = 2;
     * @return Whether the split field is set.
     */
    boolean hasSplit();
    /**
     * .fgboost.DataSplit split = 2;
     * @return The split.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit();
    /**
     * .fgboost.DataSplit split = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder();
  }
  /**
   * Protobuf type {@code fgboost.SplitRequest}
   */
  public static final class SplitRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.SplitRequest)
      SplitRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SplitRequest.newBuilder() to construct.
    private SplitRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SplitRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SplitRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder subBuilder = null;
              if (split_ != null) {
                subBuilder = split_.toBuilder();
              }
              split_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(split_);
                split_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int SPLIT_FIELD_NUMBER = 2;
    private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit split_;
    /**
     * .fgboost.DataSplit split = 2;
     * @return Whether the split field is set.
     */
    @java.lang.Override
    public boolean hasSplit() {
      return split_ != null;
    }
    /**
     * .fgboost.DataSplit split = 2;
     * @return The split.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit() {
      return split_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
    }
    /**
     * .fgboost.DataSplit split = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder() {
      return getSplit();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (split_ != null) {
        output.writeMessage(2, getSplit());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (split_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getSplit());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (hasSplit() != other.hasSplit()) return false;
      if (hasSplit()) {
        if (!getSplit()
            .equals(other.getSplit())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      if (hasSplit()) {
        hash = (37 * hash) + SPLIT_FIELD_NUMBER;
        hash = (53 * hash) + getSplit().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.SplitRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.SplitRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (splitBuilder_ == null) {
          split_ = null;
        } else {
          split_ = null;
          splitBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest(this);
        result.clientuuid_ = clientuuid_;
        if (splitBuilder_ == null) {
          result.split_ = split_;
        } else {
          result.split_ = splitBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (other.hasSplit()) {
          mergeSplit(other.getSplit());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit split_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder> splitBuilder_;
      /**
       * .fgboost.DataSplit split = 2;
       * @return Whether the split field is set.
       */
      public boolean hasSplit() {
        return splitBuilder_ != null || split_ != null;
      }
      /**
       * .fgboost.DataSplit split = 2;
       * @return The split.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit() {
        if (splitBuilder_ == null) {
          return split_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
        } else {
          return splitBuilder_.getMessage();
        }
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public Builder setSplit(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit value) {
        if (splitBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          split_ = value;
          onChanged();
        } else {
          splitBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public Builder setSplit(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder builderForValue) {
        if (splitBuilder_ == null) {
          split_ = builderForValue.build();
          onChanged();
        } else {
          splitBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public Builder mergeSplit(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit value) {
        if (splitBuilder_ == null) {
          if (split_ != null) {
            split_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.newBuilder(split_).mergeFrom(value).buildPartial();
          } else {
            split_ = value;
          }
          onChanged();
        } else {
          splitBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public Builder clearSplit() {
        if (splitBuilder_ == null) {
          split_ = null;
          onChanged();
        } else {
          split_ = null;
          splitBuilder_ = null;
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder getSplitBuilder() {
        
        onChanged();
        return getSplitFieldBuilder().getBuilder();
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder() {
        if (splitBuilder_ != null) {
          return splitBuilder_.getMessageOrBuilder();
        } else {
          return split_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
        }
      }
      /**
       * .fgboost.DataSplit split = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder> 
          getSplitFieldBuilder() {
        if (splitBuilder_ == null) {
          splitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder>(
                  getSplit(),
                  getParentForChildren(),
                  isClean());
          split_ = null;
        }
        return splitBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.SplitRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.SplitRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PredictResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.PredictResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string response = 1;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData();
    /**
     * .TensorMap data = 2;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder();

    /**
     * int32 code = 3;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.PredictResponse}
   */
  public static final class PredictResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.PredictResponse)
      PredictResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PredictResponse.newBuilder() to construct.
    private PredictResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PredictResponse() {
      response_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PredictResponse();
    }

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

              response_ = s;
              break;
            }
            case 18: {
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder subBuilder = null;
              if (data_ != null) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }

              break;
            }
            case 24: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.Builder.class);
    }

    public static final int RESPONSE_FIELD_NUMBER = 1;
    private volatile java.lang.Object response_;
    /**
     * string response = 1;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 1;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
    /**
     * .TensorMap data = 2;
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * .TensorMap data = 2;
     * @return The data.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
      return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
    }
    /**
     * .TensorMap data = 2;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
      return getData();
    }

    public static final int CODE_FIELD_NUMBER = 3;
    private int code_;
    /**
     * int32 code = 3;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, response_);
      }
      if (data_ != null) {
        output.writeMessage(2, getData());
      }
      if (code_ != 0) {
        output.writeInt32(3, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, response_);
      }
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getData());
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse) obj;

      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (hasData() != other.hasData()) return false;
      if (hasData()) {
        if (!getData()
            .equals(other.getData())) return false;
      }
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.PredictResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.PredictResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          data_ = null;
          dataBuilder_ = null;
        }
        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_PredictResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse(this);
        result.response_ = response_;
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse.getDefaultInstance()) return this;
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object response_ = "";
      /**
       * string response = 1;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 1;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 1;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 1;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap data_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> dataBuilder_;
      /**
       * .TensorMap data = 2;
       * @return Whether the data field is set.
       */
      public boolean hasData() {
        return dataBuilder_ != null || data_ != null;
      }
      /**
       * .TensorMap data = 2;
       * @return The data.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder setData(
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder mergeData(com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap value) {
        if (dataBuilder_ == null) {
          if (data_ != null) {
            data_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          data_ = null;
          dataBuilder_ = null;
        }

        return this;
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder getDataBuilder() {
        
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * .TensorMap data = 2;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.getDefaultInstance() : data_;
        }
      }
      /**
       * .TensorMap data = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMap.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.TensorMapOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private int code_ ;
      /**
       * int32 code = 3;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 3;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 3;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.PredictResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.PredictResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.PredictResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SplitResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.SplitResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .fgboost.DataSplit split = 1;
     * @return Whether the split field is set.
     */
    boolean hasSplit();
    /**
     * .fgboost.DataSplit split = 1;
     * @return The split.
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit();
    /**
     * .fgboost.DataSplit split = 1;
     */
    com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder();

    /**
     * string response = 2;
     * @return The response.
     */
    java.lang.String getResponse();
    /**
     * string response = 2;
     * @return The bytes for response.
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * int32 code = 3;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.SplitResponse}
   */
  public static final class SplitResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.SplitResponse)
      SplitResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SplitResponse.newBuilder() to construct.
    private SplitResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SplitResponse() {
      response_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SplitResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SplitResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder subBuilder = null;
              if (split_ != null) {
                subBuilder = split_.toBuilder();
              }
              split_ = input.readMessage(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(split_);
                split_ = subBuilder.buildPartial();
              }

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

              response_ = s;
              break;
            }
            case 24: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.Builder.class);
    }

    public static final int SPLIT_FIELD_NUMBER = 1;
    private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit split_;
    /**
     * .fgboost.DataSplit split = 1;
     * @return Whether the split field is set.
     */
    @java.lang.Override
    public boolean hasSplit() {
      return split_ != null;
    }
    /**
     * .fgboost.DataSplit split = 1;
     * @return The split.
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit() {
      return split_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
    }
    /**
     * .fgboost.DataSplit split = 1;
     */
    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder() {
      return getSplit();
    }

    public static final int RESPONSE_FIELD_NUMBER = 2;
    private volatile java.lang.Object response_;
    /**
     * string response = 2;
     * @return The response.
     */
    @java.lang.Override
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        response_ = s;
        return s;
      }
    }
    /**
     * string response = 2;
     * @return The bytes for response.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 3;
    private int code_;
    /**
     * int32 code = 3;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (split_ != null) {
        output.writeMessage(1, getSplit());
      }
      if (!getResponseBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, response_);
      }
      if (code_ != 0) {
        output.writeInt32(3, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (split_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getSplit());
      }
      if (!getResponseBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, response_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse) obj;

      if (hasSplit() != other.hasSplit()) return false;
      if (hasSplit()) {
        if (!getSplit()
            .equals(other.getSplit())) return false;
      }
      if (!getResponse()
          .equals(other.getResponse())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSplit()) {
        hash = (37 * hash) + SPLIT_FIELD_NUMBER;
        hash = (53 * hash) + getSplit().hashCode();
      }
      hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
      hash = (53 * hash) + getResponse().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.SplitResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.SplitResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (splitBuilder_ == null) {
          split_ = null;
        } else {
          split_ = null;
          splitBuilder_ = null;
        }
        response_ = "";

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SplitResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse(this);
        if (splitBuilder_ == null) {
          result.split_ = split_;
        } else {
          result.split_ = splitBuilder_.build();
        }
        result.response_ = response_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse.getDefaultInstance()) return this;
        if (other.hasSplit()) {
          mergeSplit(other.getSplit());
        }
        if (!other.getResponse().isEmpty()) {
          response_ = other.response_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit split_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder> splitBuilder_;
      /**
       * .fgboost.DataSplit split = 1;
       * @return Whether the split field is set.
       */
      public boolean hasSplit() {
        return splitBuilder_ != null || split_ != null;
      }
      /**
       * .fgboost.DataSplit split = 1;
       * @return The split.
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit getSplit() {
        if (splitBuilder_ == null) {
          return split_ == null ? com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
        } else {
          return splitBuilder_.getMessage();
        }
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public Builder setSplit(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit value) {
        if (splitBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          split_ = value;
          onChanged();
        } else {
          splitBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public Builder setSplit(
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder builderForValue) {
        if (splitBuilder_ == null) {
          split_ = builderForValue.build();
          onChanged();
        } else {
          splitBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public Builder mergeSplit(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit value) {
        if (splitBuilder_ == null) {
          if (split_ != null) {
            split_ =
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.newBuilder(split_).mergeFrom(value).buildPartial();
          } else {
            split_ = value;
          }
          onChanged();
        } else {
          splitBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public Builder clearSplit() {
        if (splitBuilder_ == null) {
          split_ = null;
          onChanged();
        } else {
          split_ = null;
          splitBuilder_ = null;
        }

        return this;
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder getSplitBuilder() {
        
        onChanged();
        return getSplitFieldBuilder().getBuilder();
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder getSplitOrBuilder() {
        if (splitBuilder_ != null) {
          return splitBuilder_.getMessageOrBuilder();
        } else {
          return split_ == null ?
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.getDefaultInstance() : split_;
        }
      }
      /**
       * .fgboost.DataSplit split = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder> 
          getSplitFieldBuilder() {
        if (splitBuilder_ == null) {
          splitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplit.Builder, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.DataSplitOrBuilder>(
                  getSplit(),
                  getParentForChildren(),
                  isClean());
          split_ = null;
        }
        return splitBuilder_;
      }

      private java.lang.Object response_ = "";
      /**
       * string response = 2;
       * @return The response.
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          response_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string response = 2;
       * @return The bytes for response.
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string response = 2;
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * string response = 2;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * string response = 2;
       * @param value The bytes for response to set.
       * @return This builder for chaining.
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        response_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 3;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 3;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 3;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.SplitResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.SplitResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SplitResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SaveModelRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.SaveModelRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    int getClientuuid();

    /**
     * string modelPath = 2;
     * @return The modelPath.
     */
    java.lang.String getModelPath();
    /**
     * string modelPath = 2;
     * @return The bytes for modelPath.
     */
    com.google.protobuf.ByteString
        getModelPathBytes();
  }
  /**
   * Protobuf type {@code fgboost.SaveModelRequest}
   */
  public static final class SaveModelRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.SaveModelRequest)
      SaveModelRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SaveModelRequest.newBuilder() to construct.
    private SaveModelRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SaveModelRequest() {
      modelPath_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SaveModelRequest();
    }

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

              clientuuid_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              modelPath_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.Builder.class);
    }

    public static final int CLIENTUUID_FIELD_NUMBER = 1;
    private int clientuuid_;
    /**
     * int32 clientuuid = 1;
     * @return The clientuuid.
     */
    @java.lang.Override
    public int getClientuuid() {
      return clientuuid_;
    }

    public static final int MODELPATH_FIELD_NUMBER = 2;
    private volatile java.lang.Object modelPath_;
    /**
     * string modelPath = 2;
     * @return The modelPath.
     */
    @java.lang.Override
    public java.lang.String getModelPath() {
      java.lang.Object ref = modelPath_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        modelPath_ = s;
        return s;
      }
    }
    /**
     * string modelPath = 2;
     * @return The bytes for modelPath.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getModelPathBytes() {
      java.lang.Object ref = modelPath_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        modelPath_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientuuid_ != 0) {
        output.writeInt32(1, clientuuid_);
      }
      if (!getModelPathBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, modelPath_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientuuid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientuuid_);
      }
      if (!getModelPathBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, modelPath_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest) obj;

      if (getClientuuid()
          != other.getClientuuid()) return false;
      if (!getModelPath()
          .equals(other.getModelPath())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENTUUID_FIELD_NUMBER;
      hash = (53 * hash) + getClientuuid();
      hash = (37 * hash) + MODELPATH_FIELD_NUMBER;
      hash = (53 * hash) + getModelPath().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.SaveModelRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.SaveModelRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        modelPath_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest(this);
        result.clientuuid_ = clientuuid_;
        result.modelPath_ = modelPath_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest.getDefaultInstance()) return this;
        if (other.getClientuuid() != 0) {
          setClientuuid(other.getClientuuid());
        }
        if (!other.getModelPath().isEmpty()) {
          modelPath_ = other.modelPath_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientuuid_ ;
      /**
       * int32 clientuuid = 1;
       * @return The clientuuid.
       */
      @java.lang.Override
      public int getClientuuid() {
        return clientuuid_;
      }
      /**
       * int32 clientuuid = 1;
       * @param value The clientuuid to set.
       * @return This builder for chaining.
       */
      public Builder setClientuuid(int value) {
        
        clientuuid_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 clientuuid = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientuuid() {
        
        clientuuid_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object modelPath_ = "";
      /**
       * string modelPath = 2;
       * @return The modelPath.
       */
      public java.lang.String getModelPath() {
        java.lang.Object ref = modelPath_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          modelPath_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string modelPath = 2;
       * @return The bytes for modelPath.
       */
      public com.google.protobuf.ByteString
          getModelPathBytes() {
        java.lang.Object ref = modelPath_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          modelPath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string modelPath = 2;
       * @param value The modelPath to set.
       * @return This builder for chaining.
       */
      public Builder setModelPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        modelPath_ = value;
        onChanged();
        return this;
      }
      /**
       * string modelPath = 2;
       * @return This builder for chaining.
       */
      public Builder clearModelPath() {
        
        modelPath_ = getDefaultInstance().getModelPath();
        onChanged();
        return this;
      }
      /**
       * string modelPath = 2;
       * @param value The bytes for modelPath to set.
       * @return This builder for chaining.
       */
      public Builder setModelPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        modelPath_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.SaveModelRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.SaveModelRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SaveModelResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.SaveModelResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string message = 1;
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * string message = 1;
     * @return The bytes for message.
     */
    com.google.protobuf.ByteString
        getMessageBytes();

    /**
     * int32 code = 2;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.SaveModelResponse}
   */
  public static final class SaveModelResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.SaveModelResponse)
      SaveModelResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SaveModelResponse.newBuilder() to construct.
    private SaveModelResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SaveModelResponse() {
      message_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SaveModelResponse();
    }

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

              message_ = s;
              break;
            }
            case 16: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.Builder.class);
    }

    public static final int MESSAGE_FIELD_NUMBER = 1;
    private volatile java.lang.Object message_;
    /**
     * string message = 1;
     * @return The message.
     */
    @java.lang.Override
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        message_ = s;
        return s;
      }
    }
    /**
     * string message = 1;
     * @return The bytes for message.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 2;
    private int code_;
    /**
     * int32 code = 2;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getMessageBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, message_);
      }
      if (code_ != 0) {
        output.writeInt32(2, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getMessageBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, message_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse) obj;

      if (!getMessage()
          .equals(other.getMessage())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
      hash = (53 * hash) + getMessage().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.SaveModelResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.SaveModelResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_SaveModelResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse(this);
        result.message_ = message_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse.getDefaultInstance()) return this;
        if (!other.getMessage().isEmpty()) {
          message_ = other.message_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object message_ = "";
      /**
       * string message = 1;
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string message = 1;
       * @return The bytes for message.
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string message = 1;
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * string message = 1;
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * string message = 1;
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        message_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 2;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 2;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 2;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.SaveModelResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.SaveModelResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.SaveModelResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface LoadModelRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.LoadModelRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 client_id = 1;
     * @return The clientId.
     */
    int getClientId();

    /**
     * string model_path = 2;
     * @return The modelPath.
     */
    java.lang.String getModelPath();
    /**
     * string model_path = 2;
     * @return The bytes for modelPath.
     */
    com.google.protobuf.ByteString
        getModelPathBytes();
  }
  /**
   * Protobuf type {@code fgboost.LoadModelRequest}
   */
  public static final class LoadModelRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.LoadModelRequest)
      LoadModelRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LoadModelRequest.newBuilder() to construct.
    private LoadModelRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private LoadModelRequest() {
      modelPath_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new LoadModelRequest();
    }

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

              clientId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              modelPath_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.Builder.class);
    }

    public static final int CLIENT_ID_FIELD_NUMBER = 1;
    private int clientId_;
    /**
     * int32 client_id = 1;
     * @return The clientId.
     */
    @java.lang.Override
    public int getClientId() {
      return clientId_;
    }

    public static final int MODEL_PATH_FIELD_NUMBER = 2;
    private volatile java.lang.Object modelPath_;
    /**
     * string model_path = 2;
     * @return The modelPath.
     */
    @java.lang.Override
    public java.lang.String getModelPath() {
      java.lang.Object ref = modelPath_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        modelPath_ = s;
        return s;
      }
    }
    /**
     * string model_path = 2;
     * @return The bytes for modelPath.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getModelPathBytes() {
      java.lang.Object ref = modelPath_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        modelPath_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (clientId_ != 0) {
        output.writeInt32(1, clientId_);
      }
      if (!getModelPathBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, modelPath_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (clientId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, clientId_);
      }
      if (!getModelPathBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, modelPath_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest) obj;

      if (getClientId()
          != other.getClientId()) return false;
      if (!getModelPath()
          .equals(other.getModelPath())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getClientId();
      hash = (37 * hash) + MODEL_PATH_FIELD_NUMBER;
      hash = (53 * hash) + getModelPath().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.LoadModelRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.LoadModelRequest)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        modelPath_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelRequest_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest(this);
        result.clientId_ = clientId_;
        result.modelPath_ = modelPath_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest.getDefaultInstance()) return this;
        if (other.getClientId() != 0) {
          setClientId(other.getClientId());
        }
        if (!other.getModelPath().isEmpty()) {
          modelPath_ = other.modelPath_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int clientId_ ;
      /**
       * int32 client_id = 1;
       * @return The clientId.
       */
      @java.lang.Override
      public int getClientId() {
        return clientId_;
      }
      /**
       * int32 client_id = 1;
       * @param value The clientId to set.
       * @return This builder for chaining.
       */
      public Builder setClientId(int value) {
        
        clientId_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 client_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClientId() {
        
        clientId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object modelPath_ = "";
      /**
       * string model_path = 2;
       * @return The modelPath.
       */
      public java.lang.String getModelPath() {
        java.lang.Object ref = modelPath_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          modelPath_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string model_path = 2;
       * @return The bytes for modelPath.
       */
      public com.google.protobuf.ByteString
          getModelPathBytes() {
        java.lang.Object ref = modelPath_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          modelPath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string model_path = 2;
       * @param value The modelPath to set.
       * @return This builder for chaining.
       */
      public Builder setModelPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        modelPath_ = value;
        onChanged();
        return this;
      }
      /**
       * string model_path = 2;
       * @return This builder for chaining.
       */
      public Builder clearModelPath() {
        
        modelPath_ = getDefaultInstance().getModelPath();
        onChanged();
        return this;
      }
      /**
       * string model_path = 2;
       * @param value The bytes for modelPath to set.
       * @return This builder for chaining.
       */
      public Builder setModelPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        modelPath_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.LoadModelRequest)
    }

    // @@protoc_insertion_point(class_scope:fgboost.LoadModelRequest)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface LoadModelResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:fgboost.LoadModelResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string message = 1;
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * string message = 1;
     * @return The bytes for message.
     */
    com.google.protobuf.ByteString
        getMessageBytes();

    /**
     * int32 code = 2;
     * @return The code.
     */
    int getCode();
  }
  /**
   * Protobuf type {@code fgboost.LoadModelResponse}
   */
  public static final class LoadModelResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:fgboost.LoadModelResponse)
      LoadModelResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LoadModelResponse.newBuilder() to construct.
    private LoadModelResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private LoadModelResponse() {
      message_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new LoadModelResponse();
    }

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

              message_ = s;
              break;
            }
            case 16: {

              code_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.Builder.class);
    }

    public static final int MESSAGE_FIELD_NUMBER = 1;
    private volatile java.lang.Object message_;
    /**
     * string message = 1;
     * @return The message.
     */
    @java.lang.Override
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        message_ = s;
        return s;
      }
    }
    /**
     * string message = 1;
     * @return The bytes for message.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_FIELD_NUMBER = 2;
    private int code_;
    /**
     * int32 code = 2;
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getMessageBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, message_);
      }
      if (code_ != 0) {
        output.writeInt32(2, code_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getMessageBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, message_);
      }
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, code_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse)) {
        return super.equals(obj);
      }
      com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse other = (com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse) obj;

      if (!getMessage()
          .equals(other.getMessage())) return false;
      if (getCode()
          != other.getCode()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
      hash = (53 * hash) + getMessage().hashCode();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code fgboost.LoadModelResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:fgboost.LoadModelResponse)
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.class, com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.Builder.class);
      }

      // Construct using com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        code_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.internal_static_fgboost_LoadModelResponse_descriptor;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse getDefaultInstanceForType() {
        return com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse build() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse buildPartial() {
        com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse result = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse(this);
        result.message_ = message_;
        result.code_ = code_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse) {
          return mergeFrom((com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse other) {
        if (other == com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse.getDefaultInstance()) return this;
        if (!other.getMessage().isEmpty()) {
          message_ = other.message_;
          onChanged();
        }
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object message_ = "";
      /**
       * string message = 1;
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string message = 1;
       * @return The bytes for message.
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string message = 1;
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * string message = 1;
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * string message = 1;
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        message_ = value;
        onChanged();
        return this;
      }

      private int code_ ;
      /**
       * int32 code = 2;
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * int32 code = 2;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 code = 2;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:fgboost.LoadModelResponse)
    }

    // @@protoc_insertion_point(class_scope:fgboost.LoadModelResponse)
    private static final com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse();
    }

    public static com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.intel.analytics.bigdl.ppml.fl.generated.FGBoostServiceProto.LoadModelResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_UploadLabelRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_UploadLabelRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_DownloadLabelRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_DownloadLabelRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_DownloadResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_DownloadResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_TreeLeaf_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_TreeLeaf_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_UploadTreeLeafRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_UploadTreeLeafRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_DataSplit_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_DataSplit_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_UploadResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_UploadResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_TreePredict_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_TreePredict_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_BoostPredict_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_BoostPredict_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_BoostEval_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_BoostEval_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_RegisterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_RegisterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_RegisterResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_RegisterResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_UploadTreeEvalRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_UploadTreeEvalRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_EvaluateRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_EvaluateRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_EvaluateResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_EvaluateResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_PredictRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_PredictRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_SplitRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_SplitRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_PredictResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_PredictResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_SplitResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_SplitResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_SaveModelRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_SaveModelRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_SaveModelResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_SaveModelResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_LoadModelRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_LoadModelRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_fgboost_LoadModelResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_fgboost_LoadModelResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\025fgboost_service.proto\022\007fgboost\032\rfl_bas" +
      "e.proto\"U\n\022UploadLabelRequest\022\022\n\nclientu" +
      "uid\030\001 \001(\005\022\030\n\004data\030\002 \001(\0132\n.TensorMap\022\021\n\ta" +
      "lgorithm\030\003 \001(\t\"F\n\024DownloadLabelRequest\022\033" +
      "\n\010metaData\030\001 \001(\0132\t.MetaData\022\021\n\talgorithm" +
      "\030\002 \001(\t\"L\n\020DownloadResponse\022\030\n\004data\030\001 \001(\013" +
      "2\n.TensorMap\022\020\n\010response\030\002 \001(\t\022\014\n\004code\030\003" +
      " \001(\005\"R\n\010TreeLeaf\022\016\n\006treeID\030\001 \001(\t\022\021\n\tleaf" +
      "Index\030\002 \003(\005\022\022\n\nleafOutput\030\003 \003(\002\022\017\n\007versi" +
      "on\030\004 \001(\005\"P\n\025UploadTreeLeafRequest\022\022\n\ncli" +
      "entuuid\030\001 \001(\005\022#\n\010treeLeaf\030\002 \001(\0132\021.fgboos" +
      "t.TreeLeaf\"\250\001\n\tDataSplit\022\016\n\006treeID\030\001 \001(\t" +
      "\022\016\n\006nodeID\030\002 \001(\t\022\021\n\tfeatureID\030\003 \001(\005\022\022\n\ns" +
      "plitValue\030\004 \001(\002\022\014\n\004gain\030\005 \001(\002\022\021\n\tsetLeng" +
      "th\030\006 \001(\005\022\017\n\007itemSet\030\007 \003(\005\022\021\n\tclientUid\030\010" +
      " \001(\t\022\017\n\007version\030\t \001(\005\"0\n\016UploadResponse\022" +
      "\020\n\010response\030\001 \001(\t\022\014\n\004code\030\002 \001(\005\"/\n\013TreeP" +
      "redict\022\016\n\006treeID\030\001 \001(\t\022\020\n\010predicts\030\002 \003(\010" +
      "\"6\n\014BoostPredict\022&\n\010predicts\030\001 \003(\0132\024.fgb" +
      "oost.TreePredict\"4\n\tBoostEval\022\'\n\tevaluat" +
      "es\030\001 \003(\0132\024.fgboost.TreePredict\"4\n\017Regist" +
      "erRequest\022\022\n\nclientuuid\030\001 \001(\005\022\r\n\005token\030\002" +
      " \001(\t\"2\n\020RegisterResponse\022\020\n\010response\030\001 \001" +
      "(\t\022\014\n\004code\030\002 \001(\005\"b\n\025UploadTreeEvalReques" +
      "t\022\022\n\nclientuuid\030\001 \001(\005\022\017\n\007version\030\002 \001(\005\022$" +
      "\n\010treeEval\030\003 \003(\0132\022.fgboost.BoostEval\"o\n\017" +
      "EvaluateRequest\022\022\n\nclientuuid\030\001 \001(\005\022$\n\010t" +
      "reeEval\030\002 \003(\0132\022.fgboost.BoostEval\022\017\n\007ver" +
      "sion\030\003 \001(\005\022\021\n\tlastBatch\030\004 \001(\010\"]\n\020Evaluat" +
      "eResponse\022\020\n\010response\030\001 \001(\t\022\030\n\004data\030\002 \001(" +
      "\0132\n.TensorMap\022\014\n\004code\030\003 \001(\005\022\017\n\007message\030\004" +
      " \001(\t\"n\n\016PredictRequest\022\022\n\nclientuuid\030\001 \001" +
      "(\005\022$\n\010treeEval\030\002 \003(\0132\022.fgboost.BoostEval" +
      "\022\017\n\007version\030\003 \001(\005\022\021\n\tlastBatch\030\004 \001(\010\"E\n\014" +
      "SplitRequest\022\022\n\nclientuuid\030\001 \001(\005\022!\n\005spli" +
      "t\030\002 \001(\0132\022.fgboost.DataSplit\"K\n\017PredictRe" +
      "sponse\022\020\n\010response\030\001 \001(\t\022\030\n\004data\030\002 \001(\0132\n" +
      ".TensorMap\022\014\n\004code\030\003 \001(\005\"R\n\rSplitRespons" +
      "e\022!\n\005split\030\001 \001(\0132\022.fgboost.DataSplit\022\020\n\010" +
      "response\030\002 \001(\t\022\014\n\004code\030\003 \001(\005\"9\n\020SaveMode" +
      "lRequest\022\022\n\nclientuuid\030\001 \001(\005\022\021\n\tmodelPat" +
      "h\030\002 \001(\t\"2\n\021SaveModelResponse\022\017\n\007message\030" +
      "\001 \001(\t\022\014\n\004code\030\002 \001(\005\"9\n\020LoadModelRequest\022" +
      "\021\n\tclient_id\030\001 \001(\005\022\022\n\nmodel_path\030\002 \001(\t\"2" +
      "\n\021LoadModelResponse\022\017\n\007message\030\001 \001(\t\022\014\n\004" +
      "code\030\002 \001(\0052\211\005\n\016FGBoostService\022E\n\013uploadL" +
      "abel\022\033.fgboost.UploadLabelRequest\032\027.fgbo" +
      "ost.UploadResponse\"\000\022K\n\rdownloadLabel\022\035." +
      "fgboost.DownloadLabelRequest\032\031.fgboost.D" +
      "ownloadResponse\"\000\0228\n\005split\022\025.fgboost.Spl" +
      "itRequest\032\026.fgboost.SplitResponse\"\000\022A\n\010r" +
      "egister\022\030.fgboost.RegisterRequest\032\031.fgbo" +
      "ost.RegisterResponse\"\000\022K\n\016uploadTreeLeaf" +
      "\022\036.fgboost.UploadTreeLeafRequest\032\027.fgboo" +
      "st.UploadResponse\"\000\022A\n\010evaluate\022\030.fgboos" +
      "t.EvaluateRequest\032\031.fgboost.EvaluateResp" +
      "onse\"\000\022>\n\007predict\022\027.fgboost.PredictReque" +
      "st\032\030.fgboost.PredictResponse\"\000\022J\n\017saveSe" +
      "rverModel\022\031.fgboost.SaveModelRequest\032\032.f" +
      "gboost.SaveModelResponse\"\000\022J\n\017loadServer" +
      "Model\022\031.fgboost.LoadModelRequest\032\032.fgboo" +
      "st.LoadModelResponse\"\000BB\n+com.intel.anal" +
      "ytics.bigdl.ppml.fl.generatedB\023FGBoostSe" +
      "rviceProtob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.getDescriptor(),
        });
    internal_static_fgboost_UploadLabelRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_fgboost_UploadLabelRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_UploadLabelRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "Data", "Algorithm", });
    internal_static_fgboost_DownloadLabelRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_fgboost_DownloadLabelRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_DownloadLabelRequest_descriptor,
        new java.lang.String[] { "MetaData", "Algorithm", });
    internal_static_fgboost_DownloadResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_fgboost_DownloadResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_DownloadResponse_descriptor,
        new java.lang.String[] { "Data", "Response", "Code", });
    internal_static_fgboost_TreeLeaf_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_fgboost_TreeLeaf_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_TreeLeaf_descriptor,
        new java.lang.String[] { "TreeID", "LeafIndex", "LeafOutput", "Version", });
    internal_static_fgboost_UploadTreeLeafRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_fgboost_UploadTreeLeafRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_UploadTreeLeafRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "TreeLeaf", });
    internal_static_fgboost_DataSplit_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_fgboost_DataSplit_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_DataSplit_descriptor,
        new java.lang.String[] { "TreeID", "NodeID", "FeatureID", "SplitValue", "Gain", "SetLength", "ItemSet", "ClientUid", "Version", });
    internal_static_fgboost_UploadResponse_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_fgboost_UploadResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_UploadResponse_descriptor,
        new java.lang.String[] { "Response", "Code", });
    internal_static_fgboost_TreePredict_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_fgboost_TreePredict_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_TreePredict_descriptor,
        new java.lang.String[] { "TreeID", "Predicts", });
    internal_static_fgboost_BoostPredict_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_fgboost_BoostPredict_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_BoostPredict_descriptor,
        new java.lang.String[] { "Predicts", });
    internal_static_fgboost_BoostEval_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_fgboost_BoostEval_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_BoostEval_descriptor,
        new java.lang.String[] { "Evaluates", });
    internal_static_fgboost_RegisterRequest_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_fgboost_RegisterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_RegisterRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "Token", });
    internal_static_fgboost_RegisterResponse_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_fgboost_RegisterResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_RegisterResponse_descriptor,
        new java.lang.String[] { "Response", "Code", });
    internal_static_fgboost_UploadTreeEvalRequest_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_fgboost_UploadTreeEvalRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_UploadTreeEvalRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "Version", "TreeEval", });
    internal_static_fgboost_EvaluateRequest_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_fgboost_EvaluateRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_EvaluateRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "TreeEval", "Version", "LastBatch", });
    internal_static_fgboost_EvaluateResponse_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_fgboost_EvaluateResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_EvaluateResponse_descriptor,
        new java.lang.String[] { "Response", "Data", "Code", "Message", });
    internal_static_fgboost_PredictRequest_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_fgboost_PredictRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_PredictRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "TreeEval", "Version", "LastBatch", });
    internal_static_fgboost_SplitRequest_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_fgboost_SplitRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_SplitRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "Split", });
    internal_static_fgboost_PredictResponse_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_fgboost_PredictResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_PredictResponse_descriptor,
        new java.lang.String[] { "Response", "Data", "Code", });
    internal_static_fgboost_SplitResponse_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_fgboost_SplitResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_SplitResponse_descriptor,
        new java.lang.String[] { "Split", "Response", "Code", });
    internal_static_fgboost_SaveModelRequest_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_fgboost_SaveModelRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_SaveModelRequest_descriptor,
        new java.lang.String[] { "Clientuuid", "ModelPath", });
    internal_static_fgboost_SaveModelResponse_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_fgboost_SaveModelResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_SaveModelResponse_descriptor,
        new java.lang.String[] { "Message", "Code", });
    internal_static_fgboost_LoadModelRequest_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_fgboost_LoadModelRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_LoadModelRequest_descriptor,
        new java.lang.String[] { "ClientId", "ModelPath", });
    internal_static_fgboost_LoadModelResponse_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_fgboost_LoadModelResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_fgboost_LoadModelResponse_descriptor,
        new java.lang.String[] { "Message", "Code", });
    com.intel.analytics.bigdl.ppml.fl.generated.FlBaseProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy