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

clarifai2.internal.grpc.api.WorkflowOuterClass Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: proto/clarifai/api/workflow.proto

package clarifai2.internal.grpc.api;

public final class WorkflowOuterClass {
  private WorkflowOuterClass() {}
  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 WorkflowOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.Workflow)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string id = 1;
     */
    java.lang.String getId();
    /**
     * string id = 1;
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * string app_id = 2;
     */
    java.lang.String getAppId();
    /**
     * string app_id = 2;
     */
    com.google.protobuf.ByteString
        getAppIdBytes();

    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    boolean hasCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    com.google.protobuf.Timestamp getCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder();

    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    java.util.List 
        getNodesList();
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getNodes(int index);
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    int getNodesCount();
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    java.util.List 
        getNodesOrBuilderList();
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder getNodesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code clarifai.api.Workflow}
   */
  public  static final class Workflow extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.Workflow)
      WorkflowOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Workflow.newBuilder() to construct.
    private Workflow(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Workflow() {
      id_ = "";
      appId_ = "";
      nodes_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Workflow(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

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

              appId_ = s;
              break;
            }
            case 26: {
              com.google.protobuf.Timestamp.Builder subBuilder = null;
              if (createdAt_ != null) {
                subBuilder = createdAt_.toBuilder();
              }
              createdAt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(createdAt_);
                createdAt_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                nodes_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              nodes_.add(
                  input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.parser(), extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          nodes_ = java.util.Collections.unmodifiableList(nodes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_Workflow_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_Workflow_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.class, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      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();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int APP_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object appId_;
    /**
     * string app_id = 2;
     */
    public java.lang.String getAppId() {
      java.lang.Object ref = appId_;
      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();
        appId_ = s;
        return s;
      }
    }
    /**
     * string app_id = 2;
     */
    public com.google.protobuf.ByteString
        getAppIdBytes() {
      java.lang.Object ref = appId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        appId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CREATED_AT_FIELD_NUMBER = 3;
    private com.google.protobuf.Timestamp createdAt_;
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public boolean hasCreatedAt() {
      return createdAt_ != null;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public com.google.protobuf.Timestamp getCreatedAt() {
      return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
      return getCreatedAt();
    }

    public static final int NODES_FIELD_NUMBER = 4;
    private java.util.List nodes_;
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    public java.util.List getNodesList() {
      return nodes_;
    }
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    public java.util.List 
        getNodesOrBuilderList() {
      return nodes_;
    }
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    public int getNodesCount() {
      return nodes_.size();
    }
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getNodes(int index) {
      return nodes_.get(index);
    }
    /**
     * repeated .clarifai.api.WorkflowNode nodes = 4;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder getNodesOrBuilder(
        int index) {
      return nodes_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!getAppIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_);
      }
      if (createdAt_ != null) {
        output.writeMessage(3, getCreatedAt());
      }
      for (int i = 0; i < nodes_.size(); i++) {
        output.writeMessage(4, nodes_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!getAppIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_);
      }
      if (createdAt_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getCreatedAt());
      }
      for (int i = 0; i < nodes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, nodes_.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 clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow other = (clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      result = result && getAppId()
          .equals(other.getAppId());
      result = result && (hasCreatedAt() == other.hasCreatedAt());
      if (hasCreatedAt()) {
        result = result && getCreatedAt()
            .equals(other.getCreatedAt());
      }
      result = result && getNodesList()
          .equals(other.getNodesList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + APP_ID_FIELD_NUMBER;
      hash = (53 * hash) + getAppId().hashCode();
      if (hasCreatedAt()) {
        hash = (37 * hash) + CREATED_AT_FIELD_NUMBER;
        hash = (53 * hash) + getCreatedAt().hashCode();
      }
      if (getNodesCount() > 0) {
        hash = (37 * hash) + NODES_FIELD_NUMBER;
        hash = (53 * hash) + getNodesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow 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 clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow 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 clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.Workflow}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.Workflow)
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_Workflow_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_Workflow_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.class, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        appId_ = "";

        if (createdAtBuilder_ == null) {
          createdAt_ = null;
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_Workflow_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow result = new clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.id_ = id_;
        result.appId_ = appId_;
        if (createdAtBuilder_ == null) {
          result.createdAt_ = createdAt_;
        } else {
          result.createdAt_ = createdAtBuilder_.build();
        }
        if (nodesBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            nodes_ = java.util.Collections.unmodifiableList(nodes_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.nodes_ = nodes_;
        } else {
          result.nodes_ = nodesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getAppId().isEmpty()) {
          appId_ = other.appId_;
          onChanged();
        }
        if (other.hasCreatedAt()) {
          mergeCreatedAt(other.getCreatedAt());
        }
        if (nodesBuilder_ == null) {
          if (!other.nodes_.isEmpty()) {
            if (nodes_.isEmpty()) {
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureNodesIsMutable();
              nodes_.addAll(other.nodes_);
            }
            onChanged();
          }
        } else {
          if (!other.nodes_.isEmpty()) {
            if (nodesBuilder_.isEmpty()) {
              nodesBuilder_.dispose();
              nodesBuilder_ = null;
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000008);
              nodesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNodesFieldBuilder() : null;
            } else {
              nodesBuilder_.addAllMessages(other.nodes_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object appId_ = "";
      /**
       * string app_id = 2;
       */
      public java.lang.String getAppId() {
        java.lang.Object ref = appId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          appId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string app_id = 2;
       */
      public com.google.protobuf.ByteString
          getAppIdBytes() {
        java.lang.Object ref = appId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          appId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string app_id = 2;
       */
      public Builder setAppId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        appId_ = value;
        onChanged();
        return this;
      }
      /**
       * string app_id = 2;
       */
      public Builder clearAppId() {
        
        appId_ = getDefaultInstance().getAppId();
        onChanged();
        return this;
      }
      /**
       * string app_id = 2;
       */
      public Builder setAppIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        appId_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.Timestamp createdAt_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> createdAtBuilder_;
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public boolean hasCreatedAt() {
        return createdAtBuilder_ != null || createdAt_ != null;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.Timestamp getCreatedAt() {
        if (createdAtBuilder_ == null) {
          return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        } else {
          return createdAtBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          createdAt_ = value;
          onChanged();
        } else {
          createdAtBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(
          com.google.protobuf.Timestamp.Builder builderForValue) {
        if (createdAtBuilder_ == null) {
          createdAt_ = builderForValue.build();
          onChanged();
        } else {
          createdAtBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder mergeCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (createdAt_ != null) {
            createdAt_ =
              com.google.protobuf.Timestamp.newBuilder(createdAt_).mergeFrom(value).buildPartial();
          } else {
            createdAt_ = value;
          }
          onChanged();
        } else {
          createdAtBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder clearCreatedAt() {
        if (createdAtBuilder_ == null) {
          createdAt_ = null;
          onChanged();
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.Timestamp.Builder getCreatedAtBuilder() {
        
        onChanged();
        return getCreatedAtFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
        if (createdAtBuilder_ != null) {
          return createdAtBuilder_.getMessageOrBuilder();
        } else {
          return createdAt_ == null ?
              com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
          getCreatedAtFieldBuilder() {
        if (createdAtBuilder_ == null) {
          createdAtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                  getCreatedAt(),
                  getParentForChildren(),
                  isClean());
          createdAt_ = null;
        }
        return createdAtBuilder_;
      }

      private java.util.List nodes_ =
        java.util.Collections.emptyList();
      private void ensureNodesIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          nodes_ = new java.util.ArrayList(nodes_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder> nodesBuilder_;

      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public java.util.List getNodesList() {
        if (nodesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(nodes_);
        } else {
          return nodesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public int getNodesCount() {
        if (nodesBuilder_ == null) {
          return nodes_.size();
        } else {
          return nodesBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getNodes(int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);
        } else {
          return nodesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder setNodes(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.set(index, value);
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder setNodes(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.set(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder addNodes(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder addNodes(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(index, value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder addNodes(
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder addNodes(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder addAllNodes(
          java.lang.Iterable values) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, nodes_);
          onChanged();
        } else {
          nodesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder clearNodes() {
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public Builder removeNodes(int index) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.remove(index);
          onChanged();
        } else {
          nodesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder getNodesBuilder(
          int index) {
        return getNodesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder getNodesOrBuilder(
          int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);  } else {
          return nodesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public java.util.List 
           getNodesOrBuilderList() {
        if (nodesBuilder_ != null) {
          return nodesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(nodes_);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder addNodesBuilder() {
        return getNodesFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder addNodesBuilder(
          int index) {
        return getNodesFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.WorkflowNode nodes = 4;
       */
      public java.util.List 
           getNodesBuilderList() {
        return getNodesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder> 
          getNodesFieldBuilder() {
        if (nodesBuilder_ == null) {
          nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder>(
                  nodes_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          nodes_ = null;
        }
        return nodesBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.Workflow)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.Workflow)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WorkflowNodeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.WorkflowNode)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string id = 1;
     */
    java.lang.String getId();
    /**
     * string id = 1;
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * .clarifai.api.Model model = 2;
     */
    boolean hasModel();
    /**
     * .clarifai.api.Model model = 2;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.Model getModel();
    /**
     * .clarifai.api.Model model = 2;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder();
  }
  /**
   * Protobuf type {@code clarifai.api.WorkflowNode}
   */
  public  static final class WorkflowNode extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.WorkflowNode)
      WorkflowNodeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WorkflowNode.newBuilder() to construct.
    private WorkflowNode(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private WorkflowNode() {
      id_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WorkflowNode(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
            case 18: {
              clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder subBuilder = null;
              if (model_ != null) {
                subBuilder = model_.toBuilder();
              }
              model_ = input.readMessage(clarifai2.internal.grpc.api.ModelOuterClass.Model.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(model_);
                model_ = subBuilder.buildPartial();
              }

              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowNode_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowNode_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.class, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      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();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MODEL_FIELD_NUMBER = 2;
    private clarifai2.internal.grpc.api.ModelOuterClass.Model model_;
    /**
     * .clarifai.api.Model model = 2;
     */
    public boolean hasModel() {
      return model_ != null;
    }
    /**
     * .clarifai.api.Model model = 2;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.Model getModel() {
      return model_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
    }
    /**
     * .clarifai.api.Model model = 2;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder() {
      return getModel();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (model_ != null) {
        output.writeMessage(2, getModel());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (model_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getModel());
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode other = (clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      result = result && (hasModel() == other.hasModel());
      if (hasModel()) {
        result = result && getModel()
            .equals(other.getModel());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      if (hasModel()) {
        hash = (37 * hash) + MODEL_FIELD_NUMBER;
        hash = (53 * hash) + getModel().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode 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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode 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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.WorkflowNode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.WorkflowNode)
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNodeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowNode_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowNode_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.class, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (modelBuilder_ == null) {
          model_ = null;
        } else {
          model_ = null;
          modelBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowNode_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode result = new clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode(this);
        result.id_ = id_;
        if (modelBuilder_ == null) {
          result.model_ = model_;
        } else {
          result.model_ = modelBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (other.hasModel()) {
          mergeModel(other.getModel());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private clarifai2.internal.grpc.api.ModelOuterClass.Model model_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder> modelBuilder_;
      /**
       * .clarifai.api.Model model = 2;
       */
      public boolean hasModel() {
        return modelBuilder_ != null || model_ != null;
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.Model getModel() {
        if (modelBuilder_ == null) {
          return model_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
        } else {
          return modelBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public Builder setModel(clarifai2.internal.grpc.api.ModelOuterClass.Model value) {
        if (modelBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          model_ = value;
          onChanged();
        } else {
          modelBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public Builder setModel(
          clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder builderForValue) {
        if (modelBuilder_ == null) {
          model_ = builderForValue.build();
          onChanged();
        } else {
          modelBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public Builder mergeModel(clarifai2.internal.grpc.api.ModelOuterClass.Model value) {
        if (modelBuilder_ == null) {
          if (model_ != null) {
            model_ =
              clarifai2.internal.grpc.api.ModelOuterClass.Model.newBuilder(model_).mergeFrom(value).buildPartial();
          } else {
            model_ = value;
          }
          onChanged();
        } else {
          modelBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public Builder clearModel() {
        if (modelBuilder_ == null) {
          model_ = null;
          onChanged();
        } else {
          model_ = null;
          modelBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder getModelBuilder() {
        
        onChanged();
        return getModelFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder() {
        if (modelBuilder_ != null) {
          return modelBuilder_.getMessageOrBuilder();
        } else {
          return model_ == null ?
              clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
        }
      }
      /**
       * .clarifai.api.Model model = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder> 
          getModelFieldBuilder() {
        if (modelBuilder_ == null) {
          modelBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder>(
                  getModel(),
                  getParentForChildren(),
                  isClean());
          model_ = null;
        }
        return modelBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.WorkflowNode)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.WorkflowNode)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowNode getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetWorkflowRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.GetWorkflowRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * string workflow_id = 2;
     */
    java.lang.String getWorkflowId();
    /**
     * string workflow_id = 2;
     */
    com.google.protobuf.ByteString
        getWorkflowIdBytes();
  }
  /**
   * Protobuf type {@code clarifai.api.GetWorkflowRequest}
   */
  public  static final class GetWorkflowRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.GetWorkflowRequest)
      GetWorkflowRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetWorkflowRequest.newBuilder() to construct.
    private GetWorkflowRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private GetWorkflowRequest() {
      workflowId_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GetWorkflowRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

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

              workflowId_ = s;
              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_GetWorkflowRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_GetWorkflowRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.Builder.class);
    }

    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int WORKFLOW_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object workflowId_;
    /**
     * string workflow_id = 2;
     */
    public java.lang.String getWorkflowId() {
      java.lang.Object ref = workflowId_;
      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();
        workflowId_ = s;
        return s;
      }
    }
    /**
     * string workflow_id = 2;
     */
    public com.google.protobuf.ByteString
        getWorkflowIdBytes() {
      java.lang.Object ref = workflowId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        workflowId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, workflowId_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, workflowId_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getWorkflowId()
          .equals(other.getWorkflowId());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      hash = (37 * hash) + WORKFLOW_ID_FIELD_NUMBER;
      hash = (53 * hash) + getWorkflowId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.GetWorkflowRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.GetWorkflowRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_GetWorkflowRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_GetWorkflowRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        workflowId_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_GetWorkflowRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest(this);
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        result.workflowId_ = workflowId_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (!other.getWorkflowId().isEmpty()) {
          workflowId_ = other.workflowId_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private java.lang.Object workflowId_ = "";
      /**
       * string workflow_id = 2;
       */
      public java.lang.String getWorkflowId() {
        java.lang.Object ref = workflowId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          workflowId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public com.google.protobuf.ByteString
          getWorkflowIdBytes() {
        java.lang.Object ref = workflowId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          workflowId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        workflowId_ = value;
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder clearWorkflowId() {
        
        workflowId_ = getDefaultInstance().getWorkflowId();
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        workflowId_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.GetWorkflowRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.GetWorkflowRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.GetWorkflowRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ListWorkflowsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.ListWorkflowsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * uint32 page = 2;
     */
    int getPage();

    /**
     * uint32 per_page = 3;
     */
    int getPerPage();
  }
  /**
   * Protobuf type {@code clarifai.api.ListWorkflowsRequest}
   */
  public  static final class ListWorkflowsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.ListWorkflowsRequest)
      ListWorkflowsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListWorkflowsRequest.newBuilder() to construct.
    private ListWorkflowsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ListWorkflowsRequest() {
      page_ = 0;
      perPage_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListWorkflowsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              page_ = input.readUInt32();
              break;
            }
            case 24: {

              perPage_ = input.readUInt32();
              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListWorkflowsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListWorkflowsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.Builder.class);
    }

    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int PAGE_FIELD_NUMBER = 2;
    private int page_;
    /**
     * uint32 page = 2;
     */
    public int getPage() {
      return page_;
    }

    public static final int PER_PAGE_FIELD_NUMBER = 3;
    private int perPage_;
    /**
     * uint32 per_page = 3;
     */
    public int getPerPage() {
      return perPage_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      if (page_ != 0) {
        output.writeUInt32(2, page_);
      }
      if (perPage_ != 0) {
        output.writeUInt32(3, perPage_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      if (page_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, page_);
      }
      if (perPage_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, perPage_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && (getPage()
          == other.getPage());
      result = result && (getPerPage()
          == other.getPerPage());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      hash = (37 * hash) + PAGE_FIELD_NUMBER;
      hash = (53 * hash) + getPage();
      hash = (37 * hash) + PER_PAGE_FIELD_NUMBER;
      hash = (53 * hash) + getPerPage();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.ListWorkflowsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.ListWorkflowsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListWorkflowsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListWorkflowsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        page_ = 0;

        perPage_ = 0;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListWorkflowsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest(this);
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        result.page_ = page_;
        result.perPage_ = perPage_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (other.getPage() != 0) {
          setPage(other.getPage());
        }
        if (other.getPerPage() != 0) {
          setPerPage(other.getPerPage());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private int page_ ;
      /**
       * uint32 page = 2;
       */
      public int getPage() {
        return page_;
      }
      /**
       * uint32 page = 2;
       */
      public Builder setPage(int value) {
        
        page_ = value;
        onChanged();
        return this;
      }
      /**
       * uint32 page = 2;
       */
      public Builder clearPage() {
        
        page_ = 0;
        onChanged();
        return this;
      }

      private int perPage_ ;
      /**
       * uint32 per_page = 3;
       */
      public int getPerPage() {
        return perPage_;
      }
      /**
       * uint32 per_page = 3;
       */
      public Builder setPerPage(int value) {
        
        perPage_ = value;
        onChanged();
        return this;
      }
      /**
       * uint32 per_page = 3;
       */
      public Builder clearPerPage() {
        
        perPage_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.ListWorkflowsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.ListWorkflowsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.ListWorkflowsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ListPublicWorkflowsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.ListPublicWorkflowsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * uint32 page = 1;
     */
    int getPage();

    /**
     * uint32 per_page = 2;
     */
    int getPerPage();
  }
  /**
   * Protobuf type {@code clarifai.api.ListPublicWorkflowsRequest}
   */
  public  static final class ListPublicWorkflowsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.ListPublicWorkflowsRequest)
      ListPublicWorkflowsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ListPublicWorkflowsRequest.newBuilder() to construct.
    private ListPublicWorkflowsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ListPublicWorkflowsRequest() {
      page_ = 0;
      perPage_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ListPublicWorkflowsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              page_ = input.readUInt32();
              break;
            }
            case 16: {

              perPage_ = input.readUInt32();
              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListPublicWorkflowsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.Builder.class);
    }

    public static final int PAGE_FIELD_NUMBER = 1;
    private int page_;
    /**
     * uint32 page = 1;
     */
    public int getPage() {
      return page_;
    }

    public static final int PER_PAGE_FIELD_NUMBER = 2;
    private int perPage_;
    /**
     * uint32 per_page = 2;
     */
    public int getPerPage() {
      return perPage_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (page_ != 0) {
        output.writeUInt32(1, page_);
      }
      if (perPage_ != 0) {
        output.writeUInt32(2, perPage_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (page_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, page_);
      }
      if (perPage_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, perPage_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest) obj;

      boolean result = true;
      result = result && (getPage()
          == other.getPage());
      result = result && (getPerPage()
          == other.getPerPage());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PAGE_FIELD_NUMBER;
      hash = (53 * hash) + getPage();
      hash = (37 * hash) + PER_PAGE_FIELD_NUMBER;
      hash = (53 * hash) + getPerPage();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.ListPublicWorkflowsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.ListPublicWorkflowsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListPublicWorkflowsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        perPage_ = 0;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest(this);
        result.page_ = page_;
        result.perPage_ = perPage_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest.getDefaultInstance()) return this;
        if (other.getPage() != 0) {
          setPage(other.getPage());
        }
        if (other.getPerPage() != 0) {
          setPerPage(other.getPerPage());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private int page_ ;
      /**
       * uint32 page = 1;
       */
      public int getPage() {
        return page_;
      }
      /**
       * uint32 page = 1;
       */
      public Builder setPage(int value) {
        
        page_ = value;
        onChanged();
        return this;
      }
      /**
       * uint32 page = 1;
       */
      public Builder clearPage() {
        
        page_ = 0;
        onChanged();
        return this;
      }

      private int perPage_ ;
      /**
       * uint32 per_page = 2;
       */
      public int getPerPage() {
        return perPage_;
      }
      /**
       * uint32 per_page = 2;
       */
      public Builder setPerPage(int value) {
        
        perPage_ = value;
        onChanged();
        return this;
      }
      /**
       * uint32 per_page = 2;
       */
      public Builder clearPerPage() {
        
        perPage_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.ListPublicWorkflowsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.ListPublicWorkflowsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.ListPublicWorkflowsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostWorkflowsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.PostWorkflowsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    java.util.List 
        getWorkflowsList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index);
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    int getWorkflowsCount();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    java.util.List 
        getWorkflowsOrBuilderList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code clarifai.api.PostWorkflowsRequest}
   */
  public  static final class PostWorkflowsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.PostWorkflowsRequest)
      PostWorkflowsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostWorkflowsRequest.newBuilder() to construct.
    private PostWorkflowsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PostWorkflowsRequest() {
      workflows_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PostWorkflowsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                workflows_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              workflows_.add(
                  input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.parser(), extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = java.util.Collections.unmodifiableList(workflows_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.Builder.class);
    }

    private int bitField0_;
    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int WORKFLOWS_FIELD_NUMBER = 2;
    private java.util.List workflows_;
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public java.util.List getWorkflowsList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public java.util.List 
        getWorkflowsOrBuilderList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public int getWorkflowsCount() {
      return workflows_.size();
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
      return workflows_.get(index);
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index) {
      return workflows_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      for (int i = 0; i < workflows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, workflows_.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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getWorkflowsList()
          .equals(other.getWorkflowsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      if (getWorkflowsCount() > 0) {
        hash = (37 * hash) + WORKFLOWS_FIELD_NUMBER;
        hash = (53 * hash) + getWorkflowsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.PostWorkflowsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.PostWorkflowsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWorkflowsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          workflowsBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        if (workflowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            workflows_ = java.util.Collections.unmodifiableList(workflows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.workflows_ = workflows_;
        } else {
          result.workflows_ = workflowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (workflowsBuilder_ == null) {
          if (!other.workflows_.isEmpty()) {
            if (workflows_.isEmpty()) {
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureWorkflowsIsMutable();
              workflows_.addAll(other.workflows_);
            }
            onChanged();
          }
        } else {
          if (!other.workflows_.isEmpty()) {
            if (workflowsBuilder_.isEmpty()) {
              workflowsBuilder_.dispose();
              workflowsBuilder_ = null;
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              workflowsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getWorkflowsFieldBuilder() : null;
            } else {
              workflowsBuilder_.addAllMessages(other.workflows_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private java.util.List workflows_ =
        java.util.Collections.emptyList();
      private void ensureWorkflowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = new java.util.ArrayList(workflows_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> workflowsBuilder_;

      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List getWorkflowsList() {
        if (workflowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(workflows_);
        } else {
          return workflowsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public int getWorkflowsCount() {
        if (workflowsBuilder_ == null) {
          return workflows_.size();
        } else {
          return workflowsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);
        } else {
          return workflowsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.set(index, value);
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.set(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(index, value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addAllWorkflows(
          java.lang.Iterable values) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, workflows_);
          onChanged();
        } else {
          workflowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder clearWorkflows() {
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          workflowsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder removeWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.remove(index);
          onChanged();
        } else {
          workflowsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder getWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
          int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);  } else {
          return workflowsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List 
           getWorkflowsOrBuilderList() {
        if (workflowsBuilder_ != null) {
          return workflowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(workflows_);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder() {
        return getWorkflowsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List 
           getWorkflowsBuilderList() {
        return getWorkflowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> 
          getWorkflowsFieldBuilder() {
        if (workflowsBuilder_ == null) {
          workflowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder>(
                  workflows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          workflows_ = null;
        }
        return workflowsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.PostWorkflowsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.PostWorkflowsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PatchWorkflowsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.PatchWorkflowsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    java.util.List 
        getWorkflowsList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index);
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    int getWorkflowsCount();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    java.util.List 
        getWorkflowsOrBuilderList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index);

    /**
     * string action = 3;
     */
    java.lang.String getAction();
    /**
     * string action = 3;
     */
    com.google.protobuf.ByteString
        getActionBytes();
  }
  /**
   * Protobuf type {@code clarifai.api.PatchWorkflowsRequest}
   */
  public  static final class PatchWorkflowsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.PatchWorkflowsRequest)
      PatchWorkflowsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PatchWorkflowsRequest.newBuilder() to construct.
    private PatchWorkflowsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PatchWorkflowsRequest() {
      workflows_ = java.util.Collections.emptyList();
      action_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PatchWorkflowsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                workflows_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              workflows_.add(
                  input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.parser(), extensionRegistry));
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              action_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = java.util.Collections.unmodifiableList(workflows_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PatchWorkflowsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PatchWorkflowsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.Builder.class);
    }

    private int bitField0_;
    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int WORKFLOWS_FIELD_NUMBER = 2;
    private java.util.List workflows_;
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public java.util.List getWorkflowsList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public java.util.List 
        getWorkflowsOrBuilderList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public int getWorkflowsCount() {
      return workflows_.size();
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
      return workflows_.get(index);
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index) {
      return workflows_.get(index);
    }

    public static final int ACTION_FIELD_NUMBER = 3;
    private volatile java.lang.Object action_;
    /**
     * string action = 3;
     */
    public java.lang.String getAction() {
      java.lang.Object ref = action_;
      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();
        action_ = s;
        return s;
      }
    }
    /**
     * string action = 3;
     */
    public com.google.protobuf.ByteString
        getActionBytes() {
      java.lang.Object ref = action_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        action_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      for (int i = 0; i < workflows_.size(); i++) {
        output.writeMessage(2, workflows_.get(i));
      }
      if (!getActionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, action_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      for (int i = 0; i < workflows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, workflows_.get(i));
      }
      if (!getActionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, action_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getWorkflowsList()
          .equals(other.getWorkflowsList());
      result = result && getAction()
          .equals(other.getAction());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      if (getWorkflowsCount() > 0) {
        hash = (37 * hash) + WORKFLOWS_FIELD_NUMBER;
        hash = (53 * hash) + getWorkflowsList().hashCode();
      }
      hash = (37 * hash) + ACTION_FIELD_NUMBER;
      hash = (53 * hash) + getAction().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.PatchWorkflowsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.PatchWorkflowsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PatchWorkflowsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PatchWorkflowsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWorkflowsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          workflowsBuilder_.clear();
        }
        action_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PatchWorkflowsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        if (workflowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            workflows_ = java.util.Collections.unmodifiableList(workflows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.workflows_ = workflows_;
        } else {
          result.workflows_ = workflowsBuilder_.build();
        }
        result.action_ = action_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (workflowsBuilder_ == null) {
          if (!other.workflows_.isEmpty()) {
            if (workflows_.isEmpty()) {
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureWorkflowsIsMutable();
              workflows_.addAll(other.workflows_);
            }
            onChanged();
          }
        } else {
          if (!other.workflows_.isEmpty()) {
            if (workflowsBuilder_.isEmpty()) {
              workflowsBuilder_.dispose();
              workflowsBuilder_ = null;
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              workflowsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getWorkflowsFieldBuilder() : null;
            } else {
              workflowsBuilder_.addAllMessages(other.workflows_);
            }
          }
        }
        if (!other.getAction().isEmpty()) {
          action_ = other.action_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private java.util.List workflows_ =
        java.util.Collections.emptyList();
      private void ensureWorkflowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = new java.util.ArrayList(workflows_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> workflowsBuilder_;

      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List getWorkflowsList() {
        if (workflowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(workflows_);
        } else {
          return workflowsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public int getWorkflowsCount() {
        if (workflowsBuilder_ == null) {
          return workflows_.size();
        } else {
          return workflowsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);
        } else {
          return workflowsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.set(index, value);
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.set(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(index, value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder addAllWorkflows(
          java.lang.Iterable values) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, workflows_);
          onChanged();
        } else {
          workflowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder clearWorkflows() {
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          workflowsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public Builder removeWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.remove(index);
          onChanged();
        } else {
          workflowsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder getWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
          int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);  } else {
          return workflowsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List 
           getWorkflowsOrBuilderList() {
        if (workflowsBuilder_ != null) {
          return workflowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(workflows_);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder() {
        return getWorkflowsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2;
       */
      public java.util.List 
           getWorkflowsBuilderList() {
        return getWorkflowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> 
          getWorkflowsFieldBuilder() {
        if (workflowsBuilder_ == null) {
          workflowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder>(
                  workflows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          workflows_ = null;
        }
        return workflowsBuilder_;
      }

      private java.lang.Object action_ = "";
      /**
       * string action = 3;
       */
      public java.lang.String getAction() {
        java.lang.Object ref = action_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          action_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string action = 3;
       */
      public com.google.protobuf.ByteString
          getActionBytes() {
        java.lang.Object ref = action_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          action_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string action = 3;
       */
      public Builder setAction(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        action_ = value;
        onChanged();
        return this;
      }
      /**
       * string action = 3;
       */
      public Builder clearAction() {
        
        action_ = getDefaultInstance().getAction();
        onChanged();
        return this;
      }
      /**
       * string action = 3;
       */
      public Builder setActionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        action_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.PatchWorkflowsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.PatchWorkflowsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.PatchWorkflowsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeleteWorkflowRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.DeleteWorkflowRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * string workflow_id = 2;
     */
    java.lang.String getWorkflowId();
    /**
     * string workflow_id = 2;
     */
    com.google.protobuf.ByteString
        getWorkflowIdBytes();
  }
  /**
   * Protobuf type {@code clarifai.api.DeleteWorkflowRequest}
   */
  public  static final class DeleteWorkflowRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.DeleteWorkflowRequest)
      DeleteWorkflowRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteWorkflowRequest.newBuilder() to construct.
    private DeleteWorkflowRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DeleteWorkflowRequest() {
      workflowId_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteWorkflowRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

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

              workflowId_ = s;
              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.Builder.class);
    }

    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int WORKFLOW_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object workflowId_;
    /**
     * string workflow_id = 2;
     */
    public java.lang.String getWorkflowId() {
      java.lang.Object ref = workflowId_;
      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();
        workflowId_ = s;
        return s;
      }
    }
    /**
     * string workflow_id = 2;
     */
    public com.google.protobuf.ByteString
        getWorkflowIdBytes() {
      java.lang.Object ref = workflowId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        workflowId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, workflowId_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, workflowId_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getWorkflowId()
          .equals(other.getWorkflowId());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      hash = (37 * hash) + WORKFLOW_ID_FIELD_NUMBER;
      hash = (53 * hash) + getWorkflowId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.DeleteWorkflowRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.DeleteWorkflowRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        workflowId_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest(this);
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        result.workflowId_ = workflowId_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (!other.getWorkflowId().isEmpty()) {
          workflowId_ = other.workflowId_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private java.lang.Object workflowId_ = "";
      /**
       * string workflow_id = 2;
       */
      public java.lang.String getWorkflowId() {
        java.lang.Object ref = workflowId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          workflowId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public com.google.protobuf.ByteString
          getWorkflowIdBytes() {
        java.lang.Object ref = workflowId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          workflowId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        workflowId_ = value;
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder clearWorkflowId() {
        
        workflowId_ = getDefaultInstance().getWorkflowId();
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        workflowId_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.DeleteWorkflowRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.DeleteWorkflowRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeleteWorkflowsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.DeleteWorkflowsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * repeated string ids = 2;
     */
    java.util.List
        getIdsList();
    /**
     * repeated string ids = 2;
     */
    int getIdsCount();
    /**
     * repeated string ids = 2;
     */
    java.lang.String getIds(int index);
    /**
     * repeated string ids = 2;
     */
    com.google.protobuf.ByteString
        getIdsBytes(int index);

    /**
     * bool delete_all = 3;
     */
    boolean getDeleteAll();
  }
  /**
   * Protobuf type {@code clarifai.api.DeleteWorkflowsRequest}
   */
  public  static final class DeleteWorkflowsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.DeleteWorkflowsRequest)
      DeleteWorkflowsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteWorkflowsRequest.newBuilder() to construct.
    private DeleteWorkflowsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DeleteWorkflowsRequest() {
      ids_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      deleteAll_ = false;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteWorkflowsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                ids_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              ids_.add(s);
              break;
            }
            case 24: {

              deleteAll_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          ids_ = ids_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.Builder.class);
    }

    private int bitField0_;
    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int IDS_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList ids_;
    /**
     * repeated string ids = 2;
     */
    public com.google.protobuf.ProtocolStringList
        getIdsList() {
      return ids_;
    }
    /**
     * repeated string ids = 2;
     */
    public int getIdsCount() {
      return ids_.size();
    }
    /**
     * repeated string ids = 2;
     */
    public java.lang.String getIds(int index) {
      return ids_.get(index);
    }
    /**
     * repeated string ids = 2;
     */
    public com.google.protobuf.ByteString
        getIdsBytes(int index) {
      return ids_.getByteString(index);
    }

    public static final int DELETE_ALL_FIELD_NUMBER = 3;
    private boolean deleteAll_;
    /**
     * bool delete_all = 3;
     */
    public boolean getDeleteAll() {
      return deleteAll_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      for (int i = 0; i < ids_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ids_.getRaw(i));
      }
      if (deleteAll_ != false) {
        output.writeBool(3, deleteAll_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < ids_.size(); i++) {
          dataSize += computeStringSizeNoTag(ids_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getIdsList().size();
      }
      if (deleteAll_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, deleteAll_);
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getIdsList()
          .equals(other.getIdsList());
      result = result && (getDeleteAll()
          == other.getDeleteAll());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      if (getIdsCount() > 0) {
        hash = (37 * hash) + IDS_FIELD_NUMBER;
        hash = (53 * hash) + getIdsList().hashCode();
      }
      hash = (37 * hash) + DELETE_ALL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getDeleteAll());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.DeleteWorkflowsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.DeleteWorkflowsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        ids_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        deleteAll_ = false;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          ids_ = ids_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.ids_ = ids_;
        result.deleteAll_ = deleteAll_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (!other.ids_.isEmpty()) {
          if (ids_.isEmpty()) {
            ids_ = other.ids_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureIdsIsMutable();
            ids_.addAll(other.ids_);
          }
          onChanged();
        }
        if (other.getDeleteAll() != false) {
          setDeleteAll(other.getDeleteAll());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private com.google.protobuf.LazyStringList ids_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureIdsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          ids_ = new com.google.protobuf.LazyStringArrayList(ids_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated string ids = 2;
       */
      public com.google.protobuf.ProtocolStringList
          getIdsList() {
        return ids_.getUnmodifiableView();
      }
      /**
       * repeated string ids = 2;
       */
      public int getIdsCount() {
        return ids_.size();
      }
      /**
       * repeated string ids = 2;
       */
      public java.lang.String getIds(int index) {
        return ids_.get(index);
      }
      /**
       * repeated string ids = 2;
       */
      public com.google.protobuf.ByteString
          getIdsBytes(int index) {
        return ids_.getByteString(index);
      }
      /**
       * repeated string ids = 2;
       */
      public Builder setIds(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIdsIsMutable();
        ids_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string ids = 2;
       */
      public Builder addIds(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureIdsIsMutable();
        ids_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string ids = 2;
       */
      public Builder addAllIds(
          java.lang.Iterable values) {
        ensureIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, ids_);
        onChanged();
        return this;
      }
      /**
       * repeated string ids = 2;
       */
      public Builder clearIds() {
        ids_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * repeated string ids = 2;
       */
      public Builder addIdsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureIdsIsMutable();
        ids_.add(value);
        onChanged();
        return this;
      }

      private boolean deleteAll_ ;
      /**
       * bool delete_all = 3;
       */
      public boolean getDeleteAll() {
        return deleteAll_;
      }
      /**
       * bool delete_all = 3;
       */
      public Builder setDeleteAll(boolean value) {
        
        deleteAll_ = value;
        onChanged();
        return this;
      }
      /**
       * bool delete_all = 3;
       */
      public Builder clearDeleteAll() {
        
        deleteAll_ = false;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.DeleteWorkflowsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.DeleteWorkflowsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.DeleteWorkflowsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SingleWorkflowResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.SingleWorkflowResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.status.Status status = 1;
     */
    boolean hasStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder();

    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    boolean hasWorkflow();
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow();
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder();
  }
  /**
   * Protobuf type {@code clarifai.api.SingleWorkflowResponse}
   */
  public  static final class SingleWorkflowResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.SingleWorkflowResponse)
      SingleWorkflowResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SingleWorkflowResponse.newBuilder() to construct.
    private SingleWorkflowResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private SingleWorkflowResponse() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SingleWorkflowResponse(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder subBuilder = null;
              if (status_ != null) {
                subBuilder = status_.toBuilder();
              }
              status_ = input.readMessage(clarifai2.internal.grpc.api.status.StatusOuterClass.Status.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(status_);
                status_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder subBuilder = null;
              if (workflow_ != null) {
                subBuilder = workflow_.toBuilder();
              }
              workflow_ = input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(workflow_);
                workflow_ = subBuilder.buildPartial();
              }

              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 clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_SingleWorkflowResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_SingleWorkflowResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.Builder.class);
    }

    public static final int STATUS_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_;
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public boolean hasStatus() {
      return status_ != null;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
      return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
      return getStatus();
    }

    public static final int WORKFLOW_FIELD_NUMBER = 2;
    private clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow workflow_;
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public boolean hasWorkflow() {
      return workflow_ != null;
    }
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow() {
      return workflow_ == null ? clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
    }
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder() {
      return getWorkflow();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (status_ != null) {
        output.writeMessage(1, getStatus());
      }
      if (workflow_ != null) {
        output.writeMessage(2, getWorkflow());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (status_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getStatus());
      }
      if (workflow_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getWorkflow());
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse other = (clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse) obj;

      boolean result = true;
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && (hasWorkflow() == other.hasWorkflow());
      if (hasWorkflow()) {
        result = result && getWorkflow()
            .equals(other.getWorkflow());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      if (hasWorkflow()) {
        hash = (37 * hash) + WORKFLOW_FIELD_NUMBER;
        hash = (53 * hash) + getWorkflow().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.SingleWorkflowResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.SingleWorkflowResponse)
        clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_SingleWorkflowResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_SingleWorkflowResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        if (statusBuilder_ == null) {
          status_ = null;
        } else {
          status_ = null;
          statusBuilder_ = null;
        }
        if (workflowBuilder_ == null) {
          workflow_ = null;
        } else {
          workflow_ = null;
          workflowBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_SingleWorkflowResponse_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse result = new clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse(this);
        if (statusBuilder_ == null) {
          result.status_ = status_;
        } else {
          result.status_ = statusBuilder_.build();
        }
        if (workflowBuilder_ == null) {
          result.workflow_ = workflow_;
        } else {
          result.workflow_ = workflowBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse.getDefaultInstance()) return this;
        if (other.hasStatus()) {
          mergeStatus(other.getStatus());
        }
        if (other.hasWorkflow()) {
          mergeWorkflow(other.getWorkflow());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> statusBuilder_;
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public boolean hasStatus() {
        return statusBuilder_ != null || status_ != null;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
        if (statusBuilder_ == null) {
          return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        } else {
          return statusBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          status_ = value;
          onChanged();
        } else {
          statusBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder builderForValue) {
        if (statusBuilder_ == null) {
          status_ = builderForValue.build();
          onChanged();
        } else {
          statusBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder mergeStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (status_ != null) {
            status_ =
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.newBuilder(status_).mergeFrom(value).buildPartial();
          } else {
            status_ = value;
          }
          onChanged();
        } else {
          statusBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder clearStatus() {
        if (statusBuilder_ == null) {
          status_ = null;
          onChanged();
        } else {
          status_ = null;
          statusBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder getStatusBuilder() {
        
        onChanged();
        return getStatusFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
        if (statusBuilder_ != null) {
          return statusBuilder_.getMessageOrBuilder();
        } else {
          return status_ == null ?
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> 
          getStatusFieldBuilder() {
        if (statusBuilder_ == null) {
          statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder>(
                  getStatus(),
                  getParentForChildren(),
                  isClean());
          status_ = null;
        }
        return statusBuilder_;
      }

      private clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow workflow_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> workflowBuilder_;
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public boolean hasWorkflow() {
        return workflowBuilder_ != null || workflow_ != null;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow() {
        if (workflowBuilder_ == null) {
          return workflow_ == null ? clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
        } else {
          return workflowBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder setWorkflow(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          workflow_ = value;
          onChanged();
        } else {
          workflowBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder setWorkflow(
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowBuilder_ == null) {
          workflow_ = builderForValue.build();
          onChanged();
        } else {
          workflowBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder mergeWorkflow(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowBuilder_ == null) {
          if (workflow_ != null) {
            workflow_ =
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.newBuilder(workflow_).mergeFrom(value).buildPartial();
          } else {
            workflow_ = value;
          }
          onChanged();
        } else {
          workflowBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder clearWorkflow() {
        if (workflowBuilder_ == null) {
          workflow_ = null;
          onChanged();
        } else {
          workflow_ = null;
          workflowBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder getWorkflowBuilder() {
        
        onChanged();
        return getWorkflowFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder() {
        if (workflowBuilder_ != null) {
          return workflowBuilder_.getMessageOrBuilder();
        } else {
          return workflow_ == null ?
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
        }
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> 
          getWorkflowFieldBuilder() {
        if (workflowBuilder_ == null) {
          workflowBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder>(
                  getWorkflow(),
                  getParentForChildren(),
                  isClean());
          workflow_ = null;
        }
        return workflowBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.SingleWorkflowResponse)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.SingleWorkflowResponse)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.SingleWorkflowResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MultiWorkflowResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.MultiWorkflowResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.status.Status status = 1;
     */
    boolean hasStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder();

    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    java.util.List 
        getWorkflowsList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index);
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    int getWorkflowsCount();
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    java.util.List 
        getWorkflowsOrBuilderList();
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code clarifai.api.MultiWorkflowResponse}
   */
  public  static final class MultiWorkflowResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.MultiWorkflowResponse)
      MultiWorkflowResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MultiWorkflowResponse.newBuilder() to construct.
    private MultiWorkflowResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private MultiWorkflowResponse() {
      workflows_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MultiWorkflowResponse(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder subBuilder = null;
              if (status_ != null) {
                subBuilder = status_.toBuilder();
              }
              status_ = input.readMessage(clarifai2.internal.grpc.api.status.StatusOuterClass.Status.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(status_);
                status_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                workflows_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              workflows_.add(
                  input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.parser(), extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = java.util.Collections.unmodifiableList(workflows_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_MultiWorkflowResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_MultiWorkflowResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.Builder.class);
    }

    private int bitField0_;
    public static final int STATUS_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_;
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public boolean hasStatus() {
      return status_ != null;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
      return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
      return getStatus();
    }

    public static final int WORKFLOWS_FIELD_NUMBER = 2;
    private java.util.List workflows_;
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    public java.util.List getWorkflowsList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    public java.util.List 
        getWorkflowsOrBuilderList() {
      return workflows_;
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    public int getWorkflowsCount() {
      return workflows_.size();
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
      return workflows_.get(index);
    }
    /**
     * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
        int index) {
      return workflows_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (status_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getStatus());
      }
      for (int i = 0; i < workflows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, workflows_.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 clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse other = (clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse) obj;

      boolean result = true;
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && getWorkflowsList()
          .equals(other.getWorkflowsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      if (getWorkflowsCount() > 0) {
        hash = (37 * hash) + WORKFLOWS_FIELD_NUMBER;
        hash = (53 * hash) + getWorkflowsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.MultiWorkflowResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.MultiWorkflowResponse)
        clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_MultiWorkflowResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_MultiWorkflowResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWorkflowsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (statusBuilder_ == null) {
          status_ = null;
        } else {
          status_ = null;
          statusBuilder_ = null;
        }
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          workflowsBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_MultiWorkflowResponse_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse result = new clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (statusBuilder_ == null) {
          result.status_ = status_;
        } else {
          result.status_ = statusBuilder_.build();
        }
        if (workflowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            workflows_ = java.util.Collections.unmodifiableList(workflows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.workflows_ = workflows_;
        } else {
          result.workflows_ = workflowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse.getDefaultInstance()) return this;
        if (other.hasStatus()) {
          mergeStatus(other.getStatus());
        }
        if (workflowsBuilder_ == null) {
          if (!other.workflows_.isEmpty()) {
            if (workflows_.isEmpty()) {
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureWorkflowsIsMutable();
              workflows_.addAll(other.workflows_);
            }
            onChanged();
          }
        } else {
          if (!other.workflows_.isEmpty()) {
            if (workflowsBuilder_.isEmpty()) {
              workflowsBuilder_.dispose();
              workflowsBuilder_ = null;
              workflows_ = other.workflows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              workflowsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getWorkflowsFieldBuilder() : null;
            } else {
              workflowsBuilder_.addAllMessages(other.workflows_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> statusBuilder_;
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public boolean hasStatus() {
        return statusBuilder_ != null || status_ != null;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
        if (statusBuilder_ == null) {
          return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        } else {
          return statusBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          status_ = value;
          onChanged();
        } else {
          statusBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder builderForValue) {
        if (statusBuilder_ == null) {
          status_ = builderForValue.build();
          onChanged();
        } else {
          statusBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder mergeStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (status_ != null) {
            status_ =
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.newBuilder(status_).mergeFrom(value).buildPartial();
          } else {
            status_ = value;
          }
          onChanged();
        } else {
          statusBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder clearStatus() {
        if (statusBuilder_ == null) {
          status_ = null;
          onChanged();
        } else {
          status_ = null;
          statusBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder getStatusBuilder() {
        
        onChanged();
        return getStatusFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
        if (statusBuilder_ != null) {
          return statusBuilder_.getMessageOrBuilder();
        } else {
          return status_ == null ?
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> 
          getStatusFieldBuilder() {
        if (statusBuilder_ == null) {
          statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder>(
                  getStatus(),
                  getParentForChildren(),
                  isClean());
          status_ = null;
        }
        return statusBuilder_;
      }

      private java.util.List workflows_ =
        java.util.Collections.emptyList();
      private void ensureWorkflowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          workflows_ = new java.util.ArrayList(workflows_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> workflowsBuilder_;

      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public java.util.List getWorkflowsList() {
        if (workflowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(workflows_);
        } else {
          return workflowsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public int getWorkflowsCount() {
        if (workflowsBuilder_ == null) {
          return workflows_.size();
        } else {
          return workflowsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);
        } else {
          return workflowsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.set(index, value);
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder setWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.set(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder addWorkflows(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWorkflowsIsMutable();
          workflows_.add(index, value);
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder addWorkflows(
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder addWorkflows(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.add(index, builderForValue.build());
          onChanged();
        } else {
          workflowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder addAllWorkflows(
          java.lang.Iterable values) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, workflows_);
          onChanged();
        } else {
          workflowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder clearWorkflows() {
        if (workflowsBuilder_ == null) {
          workflows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          workflowsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public Builder removeWorkflows(int index) {
        if (workflowsBuilder_ == null) {
          ensureWorkflowsIsMutable();
          workflows_.remove(index);
          onChanged();
        } else {
          workflowsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder getWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowsOrBuilder(
          int index) {
        if (workflowsBuilder_ == null) {
          return workflows_.get(index);  } else {
          return workflowsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public java.util.List 
           getWorkflowsOrBuilderList() {
        if (workflowsBuilder_ != null) {
          return workflowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(workflows_);
        }
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder() {
        return getWorkflowsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder addWorkflowsBuilder(
          int index) {
        return getWorkflowsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Workflow workflows = 2 [(.clarifai.api.utils.cl_show_if_empty) = true];
       */
      public java.util.List 
           getWorkflowsBuilderList() {
        return getWorkflowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> 
          getWorkflowsFieldBuilder() {
        if (workflowsBuilder_ == null) {
          workflowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder>(
                  workflows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          workflows_ = null;
        }
        return workflowsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.MultiWorkflowResponse)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.MultiWorkflowResponse)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.MultiWorkflowResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostWorkflowResultsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.PostWorkflowResultsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    boolean hasUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId();
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder();

    /**
     * string workflow_id = 2;
     */
    java.lang.String getWorkflowId();
    /**
     * string workflow_id = 2;
     */
    com.google.protobuf.ByteString
        getWorkflowIdBytes();

    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    java.util.List 
        getInputsList();
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    clarifai2.internal.grpc.api.InputOuterClass.Input getInputs(int index);
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    int getInputsCount();
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    java.util.List 
        getInputsOrBuilderList();
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputsOrBuilder(
        int index);

    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    boolean hasOutputConfig();
    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig getOutputConfig();
    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder getOutputConfigOrBuilder();
  }
  /**
   * Protobuf type {@code clarifai.api.PostWorkflowResultsRequest}
   */
  public  static final class PostWorkflowResultsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.PostWorkflowResultsRequest)
      PostWorkflowResultsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostWorkflowResultsRequest.newBuilder() to construct.
    private PostWorkflowResultsRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PostWorkflowResultsRequest() {
      workflowId_ = "";
      inputs_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PostWorkflowResultsRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder subBuilder = null;
              if (userAppId_ != null) {
                subBuilder = userAppId_.toBuilder();
              }
              userAppId_ = input.readMessage(clarifai2.internal.grpc.api.Common.UserAppIDSet.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAppId_);
                userAppId_ = subBuilder.buildPartial();
              }

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

              workflowId_ = s;
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                inputs_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              inputs_.add(
                  input.readMessage(clarifai2.internal.grpc.api.InputOuterClass.Input.parser(), extensionRegistry));
              break;
            }
            case 34: {
              clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder subBuilder = null;
              if (outputConfig_ != null) {
                subBuilder = outputConfig_.toBuilder();
              }
              outputConfig_ = input.readMessage(clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(outputConfig_);
                outputConfig_ = subBuilder.buildPartial();
              }

              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_ & 0x00000004) == 0x00000004)) {
          inputs_ = java.util.Collections.unmodifiableList(inputs_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.Builder.class);
    }

    private int bitField0_;
    public static final int USER_APP_ID_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_;
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public boolean hasUserAppId() {
      return userAppId_ != null;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
      return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
    }
    /**
     * .clarifai.api.UserAppIDSet user_app_id = 1;
     */
    public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
      return getUserAppId();
    }

    public static final int WORKFLOW_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object workflowId_;
    /**
     * string workflow_id = 2;
     */
    public java.lang.String getWorkflowId() {
      java.lang.Object ref = workflowId_;
      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();
        workflowId_ = s;
        return s;
      }
    }
    /**
     * string workflow_id = 2;
     */
    public com.google.protobuf.ByteString
        getWorkflowIdBytes() {
      java.lang.Object ref = workflowId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        workflowId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int INPUTS_FIELD_NUMBER = 3;
    private java.util.List inputs_;
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    public java.util.List getInputsList() {
      return inputs_;
    }
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    public java.util.List 
        getInputsOrBuilderList() {
      return inputs_;
    }
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    public int getInputsCount() {
      return inputs_.size();
    }
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    public clarifai2.internal.grpc.api.InputOuterClass.Input getInputs(int index) {
      return inputs_.get(index);
    }
    /**
     * repeated .clarifai.api.Input inputs = 3;
     */
    public clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputsOrBuilder(
        int index) {
      return inputs_.get(index);
    }

    public static final int OUTPUT_CONFIG_FIELD_NUMBER = 4;
    private clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig outputConfig_;
    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    public boolean hasOutputConfig() {
      return outputConfig_ != null;
    }
    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig getOutputConfig() {
      return outputConfig_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.getDefaultInstance() : outputConfig_;
    }
    /**
     * .clarifai.api.OutputConfig output_config = 4;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder getOutputConfigOrBuilder() {
      return getOutputConfig();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userAppId_ != null) {
        output.writeMessage(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, workflowId_);
      }
      for (int i = 0; i < inputs_.size(); i++) {
        output.writeMessage(3, inputs_.get(i));
      }
      if (outputConfig_ != null) {
        output.writeMessage(4, getOutputConfig());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (userAppId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getUserAppId());
      }
      if (!getWorkflowIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, workflowId_);
      }
      for (int i = 0; i < inputs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, inputs_.get(i));
      }
      if (outputConfig_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getOutputConfig());
      }
      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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest other = (clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest) obj;

      boolean result = true;
      result = result && (hasUserAppId() == other.hasUserAppId());
      if (hasUserAppId()) {
        result = result && getUserAppId()
            .equals(other.getUserAppId());
      }
      result = result && getWorkflowId()
          .equals(other.getWorkflowId());
      result = result && getInputsList()
          .equals(other.getInputsList());
      result = result && (hasOutputConfig() == other.hasOutputConfig());
      if (hasOutputConfig()) {
        result = result && getOutputConfig()
            .equals(other.getOutputConfig());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUserAppId()) {
        hash = (37 * hash) + USER_APP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserAppId().hashCode();
      }
      hash = (37 * hash) + WORKFLOW_ID_FIELD_NUMBER;
      hash = (53 * hash) + getWorkflowId().hashCode();
      if (getInputsCount() > 0) {
        hash = (37 * hash) + INPUTS_FIELD_NUMBER;
        hash = (53 * hash) + getInputsList().hashCode();
      }
      if (hasOutputConfig()) {
        hash = (37 * hash) + OUTPUT_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getOutputConfig().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.PostWorkflowResultsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.PostWorkflowResultsRequest)
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getInputsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }
        workflowId_ = "";

        if (inputsBuilder_ == null) {
          inputs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          inputsBuilder_.clear();
        }
        if (outputConfigBuilder_ == null) {
          outputConfig_ = null;
        } else {
          outputConfig_ = null;
          outputConfigBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest result = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (userAppIdBuilder_ == null) {
          result.userAppId_ = userAppId_;
        } else {
          result.userAppId_ = userAppIdBuilder_.build();
        }
        result.workflowId_ = workflowId_;
        if (inputsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            inputs_ = java.util.Collections.unmodifiableList(inputs_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.inputs_ = inputs_;
        } else {
          result.inputs_ = inputsBuilder_.build();
        }
        if (outputConfigBuilder_ == null) {
          result.outputConfig_ = outputConfig_;
        } else {
          result.outputConfig_ = outputConfigBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest.getDefaultInstance()) return this;
        if (other.hasUserAppId()) {
          mergeUserAppId(other.getUserAppId());
        }
        if (!other.getWorkflowId().isEmpty()) {
          workflowId_ = other.workflowId_;
          onChanged();
        }
        if (inputsBuilder_ == null) {
          if (!other.inputs_.isEmpty()) {
            if (inputs_.isEmpty()) {
              inputs_ = other.inputs_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureInputsIsMutable();
              inputs_.addAll(other.inputs_);
            }
            onChanged();
          }
        } else {
          if (!other.inputs_.isEmpty()) {
            if (inputsBuilder_.isEmpty()) {
              inputsBuilder_.dispose();
              inputsBuilder_ = null;
              inputs_ = other.inputs_;
              bitField0_ = (bitField0_ & ~0x00000004);
              inputsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getInputsFieldBuilder() : null;
            } else {
              inputsBuilder_.addAllMessages(other.inputs_);
            }
          }
        }
        if (other.hasOutputConfig()) {
          mergeOutputConfig(other.getOutputConfig());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.Common.UserAppIDSet userAppId_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> userAppIdBuilder_;
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public boolean hasUserAppId() {
        return userAppIdBuilder_ != null || userAppId_ != null;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet getUserAppId() {
        if (userAppIdBuilder_ == null) {
          return userAppId_ == null ? clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        } else {
          return userAppIdBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAppId_ = value;
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder setUserAppId(
          clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder builderForValue) {
        if (userAppIdBuilder_ == null) {
          userAppId_ = builderForValue.build();
          onChanged();
        } else {
          userAppIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder mergeUserAppId(clarifai2.internal.grpc.api.Common.UserAppIDSet value) {
        if (userAppIdBuilder_ == null) {
          if (userAppId_ != null) {
            userAppId_ =
              clarifai2.internal.grpc.api.Common.UserAppIDSet.newBuilder(userAppId_).mergeFrom(value).buildPartial();
          } else {
            userAppId_ = value;
          }
          onChanged();
        } else {
          userAppIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public Builder clearUserAppId() {
        if (userAppIdBuilder_ == null) {
          userAppId_ = null;
          onChanged();
        } else {
          userAppId_ = null;
          userAppIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder getUserAppIdBuilder() {
        
        onChanged();
        return getUserAppIdFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      public clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder getUserAppIdOrBuilder() {
        if (userAppIdBuilder_ != null) {
          return userAppIdBuilder_.getMessageOrBuilder();
        } else {
          return userAppId_ == null ?
              clarifai2.internal.grpc.api.Common.UserAppIDSet.getDefaultInstance() : userAppId_;
        }
      }
      /**
       * .clarifai.api.UserAppIDSet user_app_id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder> 
          getUserAppIdFieldBuilder() {
        if (userAppIdBuilder_ == null) {
          userAppIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.Common.UserAppIDSet, clarifai2.internal.grpc.api.Common.UserAppIDSet.Builder, clarifai2.internal.grpc.api.Common.UserAppIDSetOrBuilder>(
                  getUserAppId(),
                  getParentForChildren(),
                  isClean());
          userAppId_ = null;
        }
        return userAppIdBuilder_;
      }

      private java.lang.Object workflowId_ = "";
      /**
       * string workflow_id = 2;
       */
      public java.lang.String getWorkflowId() {
        java.lang.Object ref = workflowId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          workflowId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public com.google.protobuf.ByteString
          getWorkflowIdBytes() {
        java.lang.Object ref = workflowId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          workflowId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        workflowId_ = value;
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder clearWorkflowId() {
        
        workflowId_ = getDefaultInstance().getWorkflowId();
        onChanged();
        return this;
      }
      /**
       * string workflow_id = 2;
       */
      public Builder setWorkflowIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        workflowId_ = value;
        onChanged();
        return this;
      }

      private java.util.List inputs_ =
        java.util.Collections.emptyList();
      private void ensureInputsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          inputs_ = new java.util.ArrayList(inputs_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder> inputsBuilder_;

      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public java.util.List getInputsList() {
        if (inputsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(inputs_);
        } else {
          return inputsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public int getInputsCount() {
        if (inputsBuilder_ == null) {
          return inputs_.size();
        } else {
          return inputsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input getInputs(int index) {
        if (inputsBuilder_ == null) {
          return inputs_.get(index);
        } else {
          return inputsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder setInputs(
          int index, clarifai2.internal.grpc.api.InputOuterClass.Input value) {
        if (inputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputsIsMutable();
          inputs_.set(index, value);
          onChanged();
        } else {
          inputsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder setInputs(
          int index, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder builderForValue) {
        if (inputsBuilder_ == null) {
          ensureInputsIsMutable();
          inputs_.set(index, builderForValue.build());
          onChanged();
        } else {
          inputsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder addInputs(clarifai2.internal.grpc.api.InputOuterClass.Input value) {
        if (inputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputsIsMutable();
          inputs_.add(value);
          onChanged();
        } else {
          inputsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder addInputs(
          int index, clarifai2.internal.grpc.api.InputOuterClass.Input value) {
        if (inputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputsIsMutable();
          inputs_.add(index, value);
          onChanged();
        } else {
          inputsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder addInputs(
          clarifai2.internal.grpc.api.InputOuterClass.Input.Builder builderForValue) {
        if (inputsBuilder_ == null) {
          ensureInputsIsMutable();
          inputs_.add(builderForValue.build());
          onChanged();
        } else {
          inputsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder addInputs(
          int index, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder builderForValue) {
        if (inputsBuilder_ == null) {
          ensureInputsIsMutable();
          inputs_.add(index, builderForValue.build());
          onChanged();
        } else {
          inputsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder addAllInputs(
          java.lang.Iterable values) {
        if (inputsBuilder_ == null) {
          ensureInputsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inputs_);
          onChanged();
        } else {
          inputsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder clearInputs() {
        if (inputsBuilder_ == null) {
          inputs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          inputsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public Builder removeInputs(int index) {
        if (inputsBuilder_ == null) {
          ensureInputsIsMutable();
          inputs_.remove(index);
          onChanged();
        } else {
          inputsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input.Builder getInputsBuilder(
          int index) {
        return getInputsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputsOrBuilder(
          int index) {
        if (inputsBuilder_ == null) {
          return inputs_.get(index);  } else {
          return inputsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public java.util.List 
           getInputsOrBuilderList() {
        if (inputsBuilder_ != null) {
          return inputsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inputs_);
        }
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input.Builder addInputsBuilder() {
        return getInputsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.InputOuterClass.Input.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input.Builder addInputsBuilder(
          int index) {
        return getInputsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.InputOuterClass.Input.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Input inputs = 3;
       */
      public java.util.List 
           getInputsBuilderList() {
        return getInputsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder> 
          getInputsFieldBuilder() {
        if (inputsBuilder_ == null) {
          inputsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder>(
                  inputs_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          inputs_ = null;
        }
        return inputsBuilder_;
      }

      private clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig outputConfig_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder> outputConfigBuilder_;
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public boolean hasOutputConfig() {
        return outputConfigBuilder_ != null || outputConfig_ != null;
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig getOutputConfig() {
        if (outputConfigBuilder_ == null) {
          return outputConfig_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.getDefaultInstance() : outputConfig_;
        } else {
          return outputConfigBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public Builder setOutputConfig(clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig value) {
        if (outputConfigBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          outputConfig_ = value;
          onChanged();
        } else {
          outputConfigBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public Builder setOutputConfig(
          clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder builderForValue) {
        if (outputConfigBuilder_ == null) {
          outputConfig_ = builderForValue.build();
          onChanged();
        } else {
          outputConfigBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public Builder mergeOutputConfig(clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig value) {
        if (outputConfigBuilder_ == null) {
          if (outputConfig_ != null) {
            outputConfig_ =
              clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.newBuilder(outputConfig_).mergeFrom(value).buildPartial();
          } else {
            outputConfig_ = value;
          }
          onChanged();
        } else {
          outputConfigBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public Builder clearOutputConfig() {
        if (outputConfigBuilder_ == null) {
          outputConfig_ = null;
          onChanged();
        } else {
          outputConfig_ = null;
          outputConfigBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder getOutputConfigBuilder() {
        
        onChanged();
        return getOutputConfigFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder getOutputConfigOrBuilder() {
        if (outputConfigBuilder_ != null) {
          return outputConfigBuilder_.getMessageOrBuilder();
        } else {
          return outputConfig_ == null ?
              clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.getDefaultInstance() : outputConfig_;
        }
      }
      /**
       * .clarifai.api.OutputConfig output_config = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder> 
          getOutputConfigFieldBuilder() {
        if (outputConfigBuilder_ == null) {
          outputConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfig.Builder, clarifai2.internal.grpc.api.ModelOuterClass.OutputConfigOrBuilder>(
                  getOutputConfig(),
                  getParentForChildren(),
                  isClean());
          outputConfig_ = null;
        }
        return outputConfigBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.PostWorkflowResultsRequest)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.PostWorkflowResultsRequest)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostWorkflowResultsResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.PostWorkflowResultsResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .clarifai.api.status.Status status = 1;
     */
    boolean hasStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus();
    /**
     * .clarifai.api.status.Status status = 1;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder();

    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    boolean hasWorkflow();
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow();
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder();

    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    java.util.List 
        getResultsList();
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getResults(int index);
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    int getResultsCount();
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    java.util.List 
        getResultsOrBuilderList();
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder getResultsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code clarifai.api.PostWorkflowResultsResponse}
   */
  public  static final class PostWorkflowResultsResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.PostWorkflowResultsResponse)
      PostWorkflowResultsResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostWorkflowResultsResponse.newBuilder() to construct.
    private PostWorkflowResultsResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PostWorkflowResultsResponse() {
      results_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PostWorkflowResultsResponse(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder subBuilder = null;
              if (status_ != null) {
                subBuilder = status_.toBuilder();
              }
              status_ = input.readMessage(clarifai2.internal.grpc.api.status.StatusOuterClass.Status.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(status_);
                status_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder subBuilder = null;
              if (workflow_ != null) {
                subBuilder = workflow_.toBuilder();
              }
              workflow_ = input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(workflow_);
                workflow_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                results_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              results_.add(
                  input.readMessage(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.parser(), extensionRegistry));
              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_ & 0x00000004) == 0x00000004)) {
          results_ = java.util.Collections.unmodifiableList(results_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.Builder.class);
    }

    private int bitField0_;
    public static final int STATUS_FIELD_NUMBER = 1;
    private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_;
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public boolean hasStatus() {
      return status_ != null;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
      return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
    }
    /**
     * .clarifai.api.status.Status status = 1;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
      return getStatus();
    }

    public static final int WORKFLOW_FIELD_NUMBER = 2;
    private clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow workflow_;
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public boolean hasWorkflow() {
      return workflow_ != null;
    }
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow() {
      return workflow_ == null ? clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
    }
    /**
     * .clarifai.api.Workflow workflow = 2;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder() {
      return getWorkflow();
    }

    public static final int RESULTS_FIELD_NUMBER = 3;
    private java.util.List results_;
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    public java.util.List getResultsList() {
      return results_;
    }
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    public java.util.List 
        getResultsOrBuilderList() {
      return results_;
    }
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    public int getResultsCount() {
      return results_.size();
    }
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getResults(int index) {
      return results_.get(index);
    }
    /**
     * repeated .clarifai.api.WorkflowResult results = 3;
     */
    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder getResultsOrBuilder(
        int index) {
      return results_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (status_ != null) {
        output.writeMessage(1, getStatus());
      }
      if (workflow_ != null) {
        output.writeMessage(2, getWorkflow());
      }
      for (int i = 0; i < results_.size(); i++) {
        output.writeMessage(3, results_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (status_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getStatus());
      }
      if (workflow_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getWorkflow());
      }
      for (int i = 0; i < results_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, results_.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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse other = (clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse) obj;

      boolean result = true;
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && (hasWorkflow() == other.hasWorkflow());
      if (hasWorkflow()) {
        result = result && getWorkflow()
            .equals(other.getWorkflow());
      }
      result = result && getResultsList()
          .equals(other.getResultsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      if (hasWorkflow()) {
        hash = (37 * hash) + WORKFLOW_FIELD_NUMBER;
        hash = (53 * hash) + getWorkflow().hashCode();
      }
      if (getResultsCount() > 0) {
        hash = (37 * hash) + RESULTS_FIELD_NUMBER;
        hash = (53 * hash) + getResultsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse 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 clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.PostWorkflowResultsResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.PostWorkflowResultsResponse)
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.class, clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getResultsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (statusBuilder_ == null) {
          status_ = null;
        } else {
          status_ = null;
          statusBuilder_ = null;
        }
        if (workflowBuilder_ == null) {
          workflow_ = null;
        } else {
          workflow_ = null;
          workflowBuilder_ = null;
        }
        if (resultsBuilder_ == null) {
          results_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          resultsBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse result = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (statusBuilder_ == null) {
          result.status_ = status_;
        } else {
          result.status_ = statusBuilder_.build();
        }
        if (workflowBuilder_ == null) {
          result.workflow_ = workflow_;
        } else {
          result.workflow_ = workflowBuilder_.build();
        }
        if (resultsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            results_ = java.util.Collections.unmodifiableList(results_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.results_ = results_;
        } else {
          result.results_ = resultsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse.getDefaultInstance()) return this;
        if (other.hasStatus()) {
          mergeStatus(other.getStatus());
        }
        if (other.hasWorkflow()) {
          mergeWorkflow(other.getWorkflow());
        }
        if (resultsBuilder_ == null) {
          if (!other.results_.isEmpty()) {
            if (results_.isEmpty()) {
              results_ = other.results_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureResultsIsMutable();
              results_.addAll(other.results_);
            }
            onChanged();
          }
        } else {
          if (!other.results_.isEmpty()) {
            if (resultsBuilder_.isEmpty()) {
              resultsBuilder_.dispose();
              resultsBuilder_ = null;
              results_ = other.results_;
              bitField0_ = (bitField0_ & ~0x00000004);
              resultsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getResultsFieldBuilder() : null;
            } else {
              resultsBuilder_.addAllMessages(other.results_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> statusBuilder_;
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public boolean hasStatus() {
        return statusBuilder_ != null || status_ != null;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
        if (statusBuilder_ == null) {
          return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        } else {
          return statusBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          status_ = value;
          onChanged();
        } else {
          statusBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder setStatus(
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder builderForValue) {
        if (statusBuilder_ == null) {
          status_ = builderForValue.build();
          onChanged();
        } else {
          statusBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder mergeStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (status_ != null) {
            status_ =
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.newBuilder(status_).mergeFrom(value).buildPartial();
          } else {
            status_ = value;
          }
          onChanged();
        } else {
          statusBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public Builder clearStatus() {
        if (statusBuilder_ == null) {
          status_ = null;
          onChanged();
        } else {
          status_ = null;
          statusBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder getStatusBuilder() {
        
        onChanged();
        return getStatusFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
        if (statusBuilder_ != null) {
          return statusBuilder_.getMessageOrBuilder();
        } else {
          return status_ == null ?
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        }
      }
      /**
       * .clarifai.api.status.Status status = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> 
          getStatusFieldBuilder() {
        if (statusBuilder_ == null) {
          statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder>(
                  getStatus(),
                  getParentForChildren(),
                  isClean());
          status_ = null;
        }
        return statusBuilder_;
      }

      private clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow workflow_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> workflowBuilder_;
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public boolean hasWorkflow() {
        return workflowBuilder_ != null || workflow_ != null;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow getWorkflow() {
        if (workflowBuilder_ == null) {
          return workflow_ == null ? clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
        } else {
          return workflowBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder setWorkflow(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          workflow_ = value;
          onChanged();
        } else {
          workflowBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder setWorkflow(
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder builderForValue) {
        if (workflowBuilder_ == null) {
          workflow_ = builderForValue.build();
          onChanged();
        } else {
          workflowBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder mergeWorkflow(clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow value) {
        if (workflowBuilder_ == null) {
          if (workflow_ != null) {
            workflow_ =
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.newBuilder(workflow_).mergeFrom(value).buildPartial();
          } else {
            workflow_ = value;
          }
          onChanged();
        } else {
          workflowBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public Builder clearWorkflow() {
        if (workflowBuilder_ == null) {
          workflow_ = null;
          onChanged();
        } else {
          workflow_ = null;
          workflowBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder getWorkflowBuilder() {
        
        onChanged();
        return getWorkflowFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder getWorkflowOrBuilder() {
        if (workflowBuilder_ != null) {
          return workflowBuilder_.getMessageOrBuilder();
        } else {
          return workflow_ == null ?
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.getDefaultInstance() : workflow_;
        }
      }
      /**
       * .clarifai.api.Workflow workflow = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder> 
          getWorkflowFieldBuilder() {
        if (workflowBuilder_ == null) {
          workflowBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow, clarifai2.internal.grpc.api.WorkflowOuterClass.Workflow.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowOrBuilder>(
                  getWorkflow(),
                  getParentForChildren(),
                  isClean());
          workflow_ = null;
        }
        return workflowBuilder_;
      }

      private java.util.List results_ =
        java.util.Collections.emptyList();
      private void ensureResultsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          results_ = new java.util.ArrayList(results_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder> resultsBuilder_;

      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public java.util.List getResultsList() {
        if (resultsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(results_);
        } else {
          return resultsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public int getResultsCount() {
        if (resultsBuilder_ == null) {
          return results_.size();
        } else {
          return resultsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getResults(int index) {
        if (resultsBuilder_ == null) {
          return results_.get(index);
        } else {
          return resultsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder setResults(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult value) {
        if (resultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureResultsIsMutable();
          results_.set(index, value);
          onChanged();
        } else {
          resultsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder setResults(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder builderForValue) {
        if (resultsBuilder_ == null) {
          ensureResultsIsMutable();
          results_.set(index, builderForValue.build());
          onChanged();
        } else {
          resultsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder addResults(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult value) {
        if (resultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureResultsIsMutable();
          results_.add(value);
          onChanged();
        } else {
          resultsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder addResults(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult value) {
        if (resultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureResultsIsMutable();
          results_.add(index, value);
          onChanged();
        } else {
          resultsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder addResults(
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder builderForValue) {
        if (resultsBuilder_ == null) {
          ensureResultsIsMutable();
          results_.add(builderForValue.build());
          onChanged();
        } else {
          resultsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder addResults(
          int index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder builderForValue) {
        if (resultsBuilder_ == null) {
          ensureResultsIsMutable();
          results_.add(index, builderForValue.build());
          onChanged();
        } else {
          resultsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder addAllResults(
          java.lang.Iterable values) {
        if (resultsBuilder_ == null) {
          ensureResultsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, results_);
          onChanged();
        } else {
          resultsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder clearResults() {
        if (resultsBuilder_ == null) {
          results_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          resultsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public Builder removeResults(int index) {
        if (resultsBuilder_ == null) {
          ensureResultsIsMutable();
          results_.remove(index);
          onChanged();
        } else {
          resultsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder getResultsBuilder(
          int index) {
        return getResultsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder getResultsOrBuilder(
          int index) {
        if (resultsBuilder_ == null) {
          return results_.get(index);  } else {
          return resultsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public java.util.List 
           getResultsOrBuilderList() {
        if (resultsBuilder_ != null) {
          return resultsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(results_);
        }
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder addResultsBuilder() {
        return getResultsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder addResultsBuilder(
          int index) {
        return getResultsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.WorkflowResult results = 3;
       */
      public java.util.List 
           getResultsBuilderList() {
        return getResultsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder> 
          getResultsFieldBuilder() {
        if (resultsBuilder_ == null) {
          resultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder>(
                  results_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          results_ = null;
        }
        return resultsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.PostWorkflowResultsResponse)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.PostWorkflowResultsResponse)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.PostWorkflowResultsResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WorkflowResultOrBuilder extends
      // @@protoc_insertion_point(interface_extends:clarifai.api.WorkflowResult)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string id = 1;
     */
    java.lang.String getId();
    /**
     * string id = 1;
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * .clarifai.api.status.Status status = 2;
     */
    boolean hasStatus();
    /**
     * .clarifai.api.status.Status status = 2;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus();
    /**
     * .clarifai.api.status.Status status = 2;
     */
    clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder();

    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    boolean hasCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    com.google.protobuf.Timestamp getCreatedAt();
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder();

    /**
     * .clarifai.api.Model model = 4;
     */
    boolean hasModel();
    /**
     * .clarifai.api.Model model = 4;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.Model getModel();
    /**
     * .clarifai.api.Model model = 4;
     */
    clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder();

    /**
     * .clarifai.api.Input input = 5;
     */
    boolean hasInput();
    /**
     * .clarifai.api.Input input = 5;
     */
    clarifai2.internal.grpc.api.InputOuterClass.Input getInput();
    /**
     * .clarifai.api.Input input = 5;
     */
    clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputOrBuilder();

    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    java.util.List 
        getOutputsList();
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    clarifai2.internal.grpc.api.OutputOuterClass.Output getOutputs(int index);
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    int getOutputsCount();
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    java.util.List 
        getOutputsOrBuilderList();
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder getOutputsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code clarifai.api.WorkflowResult}
   */
  public  static final class WorkflowResult extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:clarifai.api.WorkflowResult)
      WorkflowResultOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WorkflowResult.newBuilder() to construct.
    private WorkflowResult(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private WorkflowResult() {
      id_ = "";
      outputs_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WorkflowResult(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
            case 18: {
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder subBuilder = null;
              if (status_ != null) {
                subBuilder = status_.toBuilder();
              }
              status_ = input.readMessage(clarifai2.internal.grpc.api.status.StatusOuterClass.Status.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(status_);
                status_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              com.google.protobuf.Timestamp.Builder subBuilder = null;
              if (createdAt_ != null) {
                subBuilder = createdAt_.toBuilder();
              }
              createdAt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(createdAt_);
                createdAt_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder subBuilder = null;
              if (model_ != null) {
                subBuilder = model_.toBuilder();
              }
              model_ = input.readMessage(clarifai2.internal.grpc.api.ModelOuterClass.Model.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(model_);
                model_ = subBuilder.buildPartial();
              }

              break;
            }
            case 42: {
              clarifai2.internal.grpc.api.InputOuterClass.Input.Builder subBuilder = null;
              if (input_ != null) {
                subBuilder = input_.toBuilder();
              }
              input_ = input.readMessage(clarifai2.internal.grpc.api.InputOuterClass.Input.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(input_);
                input_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                outputs_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              outputs_.add(
                  input.readMessage(clarifai2.internal.grpc.api.OutputOuterClass.Output.parser(), extensionRegistry));
              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_ & 0x00000020) == 0x00000020)) {
          outputs_ = java.util.Collections.unmodifiableList(outputs_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowResult_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowResult_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.class, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      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();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATUS_FIELD_NUMBER = 2;
    private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_;
    /**
     * .clarifai.api.status.Status status = 2;
     */
    public boolean hasStatus() {
      return status_ != null;
    }
    /**
     * .clarifai.api.status.Status status = 2;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
      return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
    }
    /**
     * .clarifai.api.status.Status status = 2;
     */
    public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
      return getStatus();
    }

    public static final int CREATED_AT_FIELD_NUMBER = 3;
    private com.google.protobuf.Timestamp createdAt_;
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public boolean hasCreatedAt() {
      return createdAt_ != null;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public com.google.protobuf.Timestamp getCreatedAt() {
      return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
    }
    /**
     * .google.protobuf.Timestamp created_at = 3;
     */
    public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
      return getCreatedAt();
    }

    public static final int MODEL_FIELD_NUMBER = 4;
    private clarifai2.internal.grpc.api.ModelOuterClass.Model model_;
    /**
     * .clarifai.api.Model model = 4;
     */
    public boolean hasModel() {
      return model_ != null;
    }
    /**
     * .clarifai.api.Model model = 4;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.Model getModel() {
      return model_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
    }
    /**
     * .clarifai.api.Model model = 4;
     */
    public clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder() {
      return getModel();
    }

    public static final int INPUT_FIELD_NUMBER = 5;
    private clarifai2.internal.grpc.api.InputOuterClass.Input input_;
    /**
     * .clarifai.api.Input input = 5;
     */
    public boolean hasInput() {
      return input_ != null;
    }
    /**
     * .clarifai.api.Input input = 5;
     */
    public clarifai2.internal.grpc.api.InputOuterClass.Input getInput() {
      return input_ == null ? clarifai2.internal.grpc.api.InputOuterClass.Input.getDefaultInstance() : input_;
    }
    /**
     * .clarifai.api.Input input = 5;
     */
    public clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputOrBuilder() {
      return getInput();
    }

    public static final int OUTPUTS_FIELD_NUMBER = 6;
    private java.util.List outputs_;
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    public java.util.List getOutputsList() {
      return outputs_;
    }
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    public java.util.List 
        getOutputsOrBuilderList() {
      return outputs_;
    }
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    public int getOutputsCount() {
      return outputs_.size();
    }
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    public clarifai2.internal.grpc.api.OutputOuterClass.Output getOutputs(int index) {
      return outputs_.get(index);
    }
    /**
     * repeated .clarifai.api.Output outputs = 6;
     */
    public clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder getOutputsOrBuilder(
        int index) {
      return outputs_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (status_ != null) {
        output.writeMessage(2, getStatus());
      }
      if (createdAt_ != null) {
        output.writeMessage(3, getCreatedAt());
      }
      if (model_ != null) {
        output.writeMessage(4, getModel());
      }
      if (input_ != null) {
        output.writeMessage(5, getInput());
      }
      for (int i = 0; i < outputs_.size(); i++) {
        output.writeMessage(6, outputs_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (status_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getStatus());
      }
      if (createdAt_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getCreatedAt());
      }
      if (model_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getModel());
      }
      if (input_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getInput());
      }
      for (int i = 0; i < outputs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, outputs_.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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult)) {
        return super.equals(obj);
      }
      clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult other = (clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && (hasCreatedAt() == other.hasCreatedAt());
      if (hasCreatedAt()) {
        result = result && getCreatedAt()
            .equals(other.getCreatedAt());
      }
      result = result && (hasModel() == other.hasModel());
      if (hasModel()) {
        result = result && getModel()
            .equals(other.getModel());
      }
      result = result && (hasInput() == other.hasInput());
      if (hasInput()) {
        result = result && getInput()
            .equals(other.getInput());
      }
      result = result && getOutputsList()
          .equals(other.getOutputsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      if (hasCreatedAt()) {
        hash = (37 * hash) + CREATED_AT_FIELD_NUMBER;
        hash = (53 * hash) + getCreatedAt().hashCode();
      }
      if (hasModel()) {
        hash = (37 * hash) + MODEL_FIELD_NUMBER;
        hash = (53 * hash) + getModel().hashCode();
      }
      if (hasInput()) {
        hash = (37 * hash) + INPUT_FIELD_NUMBER;
        hash = (53 * hash) + getInput().hashCode();
      }
      if (getOutputsCount() > 0) {
        hash = (37 * hash) + OUTPUTS_FIELD_NUMBER;
        hash = (53 * hash) + getOutputsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult 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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult 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 clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 clarifai.api.WorkflowResult}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:clarifai.api.WorkflowResult)
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResultOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowResult_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowResult_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.class, clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.Builder.class);
      }

      // Construct using clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (statusBuilder_ == null) {
          status_ = null;
        } else {
          status_ = null;
          statusBuilder_ = null;
        }
        if (createdAtBuilder_ == null) {
          createdAt_ = null;
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }
        if (modelBuilder_ == null) {
          model_ = null;
        } else {
          model_ = null;
          modelBuilder_ = null;
        }
        if (inputBuilder_ == null) {
          input_ = null;
        } else {
          input_ = null;
          inputBuilder_ = null;
        }
        if (outputsBuilder_ == null) {
          outputs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          outputsBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.internal_static_clarifai_api_WorkflowResult_descriptor;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getDefaultInstanceForType() {
        return clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.getDefaultInstance();
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult build() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult buildPartial() {
        clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult result = new clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.id_ = id_;
        if (statusBuilder_ == null) {
          result.status_ = status_;
        } else {
          result.status_ = statusBuilder_.build();
        }
        if (createdAtBuilder_ == null) {
          result.createdAt_ = createdAt_;
        } else {
          result.createdAt_ = createdAtBuilder_.build();
        }
        if (modelBuilder_ == null) {
          result.model_ = model_;
        } else {
          result.model_ = modelBuilder_.build();
        }
        if (inputBuilder_ == null) {
          result.input_ = input_;
        } else {
          result.input_ = inputBuilder_.build();
        }
        if (outputsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            outputs_ = java.util.Collections.unmodifiableList(outputs_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.outputs_ = outputs_;
        } else {
          result.outputs_ = outputsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult) {
          return mergeFrom((clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult other) {
        if (other == clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (other.hasStatus()) {
          mergeStatus(other.getStatus());
        }
        if (other.hasCreatedAt()) {
          mergeCreatedAt(other.getCreatedAt());
        }
        if (other.hasModel()) {
          mergeModel(other.getModel());
        }
        if (other.hasInput()) {
          mergeInput(other.getInput());
        }
        if (outputsBuilder_ == null) {
          if (!other.outputs_.isEmpty()) {
            if (outputs_.isEmpty()) {
              outputs_ = other.outputs_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureOutputsIsMutable();
              outputs_.addAll(other.outputs_);
            }
            onChanged();
          }
        } else {
          if (!other.outputs_.isEmpty()) {
            if (outputsBuilder_.isEmpty()) {
              outputsBuilder_.dispose();
              outputsBuilder_ = null;
              outputs_ = other.outputs_;
              bitField0_ = (bitField0_ & ~0x00000020);
              outputsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getOutputsFieldBuilder() : null;
            } else {
              outputsBuilder_.addAllMessages(other.outputs_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private clarifai2.internal.grpc.api.status.StatusOuterClass.Status status_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> statusBuilder_;
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public boolean hasStatus() {
        return statusBuilder_ != null || status_ != null;
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status getStatus() {
        if (statusBuilder_ == null) {
          return status_ == null ? clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        } else {
          return statusBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public Builder setStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          status_ = value;
          onChanged();
        } else {
          statusBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public Builder setStatus(
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder builderForValue) {
        if (statusBuilder_ == null) {
          status_ = builderForValue.build();
          onChanged();
        } else {
          statusBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public Builder mergeStatus(clarifai2.internal.grpc.api.status.StatusOuterClass.Status value) {
        if (statusBuilder_ == null) {
          if (status_ != null) {
            status_ =
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.newBuilder(status_).mergeFrom(value).buildPartial();
          } else {
            status_ = value;
          }
          onChanged();
        } else {
          statusBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public Builder clearStatus() {
        if (statusBuilder_ == null) {
          status_ = null;
          onChanged();
        } else {
          status_ = null;
          statusBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder getStatusBuilder() {
        
        onChanged();
        return getStatusFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      public clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder getStatusOrBuilder() {
        if (statusBuilder_ != null) {
          return statusBuilder_.getMessageOrBuilder();
        } else {
          return status_ == null ?
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status.getDefaultInstance() : status_;
        }
      }
      /**
       * .clarifai.api.status.Status status = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder> 
          getStatusFieldBuilder() {
        if (statusBuilder_ == null) {
          statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.status.StatusOuterClass.Status, clarifai2.internal.grpc.api.status.StatusOuterClass.Status.Builder, clarifai2.internal.grpc.api.status.StatusOuterClass.StatusOrBuilder>(
                  getStatus(),
                  getParentForChildren(),
                  isClean());
          status_ = null;
        }
        return statusBuilder_;
      }

      private com.google.protobuf.Timestamp createdAt_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> createdAtBuilder_;
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public boolean hasCreatedAt() {
        return createdAtBuilder_ != null || createdAt_ != null;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.Timestamp getCreatedAt() {
        if (createdAtBuilder_ == null) {
          return createdAt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        } else {
          return createdAtBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          createdAt_ = value;
          onChanged();
        } else {
          createdAtBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder setCreatedAt(
          com.google.protobuf.Timestamp.Builder builderForValue) {
        if (createdAtBuilder_ == null) {
          createdAt_ = builderForValue.build();
          onChanged();
        } else {
          createdAtBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder mergeCreatedAt(com.google.protobuf.Timestamp value) {
        if (createdAtBuilder_ == null) {
          if (createdAt_ != null) {
            createdAt_ =
              com.google.protobuf.Timestamp.newBuilder(createdAt_).mergeFrom(value).buildPartial();
          } else {
            createdAt_ = value;
          }
          onChanged();
        } else {
          createdAtBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public Builder clearCreatedAt() {
        if (createdAtBuilder_ == null) {
          createdAt_ = null;
          onChanged();
        } else {
          createdAt_ = null;
          createdAtBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.Timestamp.Builder getCreatedAtBuilder() {
        
        onChanged();
        return getCreatedAtFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      public com.google.protobuf.TimestampOrBuilder getCreatedAtOrBuilder() {
        if (createdAtBuilder_ != null) {
          return createdAtBuilder_.getMessageOrBuilder();
        } else {
          return createdAt_ == null ?
              com.google.protobuf.Timestamp.getDefaultInstance() : createdAt_;
        }
      }
      /**
       * .google.protobuf.Timestamp created_at = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
          getCreatedAtFieldBuilder() {
        if (createdAtBuilder_ == null) {
          createdAtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                  getCreatedAt(),
                  getParentForChildren(),
                  isClean());
          createdAt_ = null;
        }
        return createdAtBuilder_;
      }

      private clarifai2.internal.grpc.api.ModelOuterClass.Model model_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder> modelBuilder_;
      /**
       * .clarifai.api.Model model = 4;
       */
      public boolean hasModel() {
        return modelBuilder_ != null || model_ != null;
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.Model getModel() {
        if (modelBuilder_ == null) {
          return model_ == null ? clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
        } else {
          return modelBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public Builder setModel(clarifai2.internal.grpc.api.ModelOuterClass.Model value) {
        if (modelBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          model_ = value;
          onChanged();
        } else {
          modelBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public Builder setModel(
          clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder builderForValue) {
        if (modelBuilder_ == null) {
          model_ = builderForValue.build();
          onChanged();
        } else {
          modelBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public Builder mergeModel(clarifai2.internal.grpc.api.ModelOuterClass.Model value) {
        if (modelBuilder_ == null) {
          if (model_ != null) {
            model_ =
              clarifai2.internal.grpc.api.ModelOuterClass.Model.newBuilder(model_).mergeFrom(value).buildPartial();
          } else {
            model_ = value;
          }
          onChanged();
        } else {
          modelBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public Builder clearModel() {
        if (modelBuilder_ == null) {
          model_ = null;
          onChanged();
        } else {
          model_ = null;
          modelBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder getModelBuilder() {
        
        onChanged();
        return getModelFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      public clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder getModelOrBuilder() {
        if (modelBuilder_ != null) {
          return modelBuilder_.getMessageOrBuilder();
        } else {
          return model_ == null ?
              clarifai2.internal.grpc.api.ModelOuterClass.Model.getDefaultInstance() : model_;
        }
      }
      /**
       * .clarifai.api.Model model = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder> 
          getModelFieldBuilder() {
        if (modelBuilder_ == null) {
          modelBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.ModelOuterClass.Model, clarifai2.internal.grpc.api.ModelOuterClass.Model.Builder, clarifai2.internal.grpc.api.ModelOuterClass.ModelOrBuilder>(
                  getModel(),
                  getParentForChildren(),
                  isClean());
          model_ = null;
        }
        return modelBuilder_;
      }

      private clarifai2.internal.grpc.api.InputOuterClass.Input input_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder> inputBuilder_;
      /**
       * .clarifai.api.Input input = 5;
       */
      public boolean hasInput() {
        return inputBuilder_ != null || input_ != null;
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input getInput() {
        if (inputBuilder_ == null) {
          return input_ == null ? clarifai2.internal.grpc.api.InputOuterClass.Input.getDefaultInstance() : input_;
        } else {
          return inputBuilder_.getMessage();
        }
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public Builder setInput(clarifai2.internal.grpc.api.InputOuterClass.Input value) {
        if (inputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          input_ = value;
          onChanged();
        } else {
          inputBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public Builder setInput(
          clarifai2.internal.grpc.api.InputOuterClass.Input.Builder builderForValue) {
        if (inputBuilder_ == null) {
          input_ = builderForValue.build();
          onChanged();
        } else {
          inputBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public Builder mergeInput(clarifai2.internal.grpc.api.InputOuterClass.Input value) {
        if (inputBuilder_ == null) {
          if (input_ != null) {
            input_ =
              clarifai2.internal.grpc.api.InputOuterClass.Input.newBuilder(input_).mergeFrom(value).buildPartial();
          } else {
            input_ = value;
          }
          onChanged();
        } else {
          inputBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public Builder clearInput() {
        if (inputBuilder_ == null) {
          input_ = null;
          onChanged();
        } else {
          input_ = null;
          inputBuilder_ = null;
        }

        return this;
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.Input.Builder getInputBuilder() {
        
        onChanged();
        return getInputFieldBuilder().getBuilder();
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      public clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder getInputOrBuilder() {
        if (inputBuilder_ != null) {
          return inputBuilder_.getMessageOrBuilder();
        } else {
          return input_ == null ?
              clarifai2.internal.grpc.api.InputOuterClass.Input.getDefaultInstance() : input_;
        }
      }
      /**
       * .clarifai.api.Input input = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder> 
          getInputFieldBuilder() {
        if (inputBuilder_ == null) {
          inputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              clarifai2.internal.grpc.api.InputOuterClass.Input, clarifai2.internal.grpc.api.InputOuterClass.Input.Builder, clarifai2.internal.grpc.api.InputOuterClass.InputOrBuilder>(
                  getInput(),
                  getParentForChildren(),
                  isClean());
          input_ = null;
        }
        return inputBuilder_;
      }

      private java.util.List outputs_ =
        java.util.Collections.emptyList();
      private void ensureOutputsIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          outputs_ = new java.util.ArrayList(outputs_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.OutputOuterClass.Output, clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder, clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder> outputsBuilder_;

      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public java.util.List getOutputsList() {
        if (outputsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(outputs_);
        } else {
          return outputsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public int getOutputsCount() {
        if (outputsBuilder_ == null) {
          return outputs_.size();
        } else {
          return outputsBuilder_.getCount();
        }
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public clarifai2.internal.grpc.api.OutputOuterClass.Output getOutputs(int index) {
        if (outputsBuilder_ == null) {
          return outputs_.get(index);
        } else {
          return outputsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder setOutputs(
          int index, clarifai2.internal.grpc.api.OutputOuterClass.Output value) {
        if (outputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputsIsMutable();
          outputs_.set(index, value);
          onChanged();
        } else {
          outputsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder setOutputs(
          int index, clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder builderForValue) {
        if (outputsBuilder_ == null) {
          ensureOutputsIsMutable();
          outputs_.set(index, builderForValue.build());
          onChanged();
        } else {
          outputsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder addOutputs(clarifai2.internal.grpc.api.OutputOuterClass.Output value) {
        if (outputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputsIsMutable();
          outputs_.add(value);
          onChanged();
        } else {
          outputsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder addOutputs(
          int index, clarifai2.internal.grpc.api.OutputOuterClass.Output value) {
        if (outputsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputsIsMutable();
          outputs_.add(index, value);
          onChanged();
        } else {
          outputsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder addOutputs(
          clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder builderForValue) {
        if (outputsBuilder_ == null) {
          ensureOutputsIsMutable();
          outputs_.add(builderForValue.build());
          onChanged();
        } else {
          outputsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder addOutputs(
          int index, clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder builderForValue) {
        if (outputsBuilder_ == null) {
          ensureOutputsIsMutable();
          outputs_.add(index, builderForValue.build());
          onChanged();
        } else {
          outputsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder addAllOutputs(
          java.lang.Iterable values) {
        if (outputsBuilder_ == null) {
          ensureOutputsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, outputs_);
          onChanged();
        } else {
          outputsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder clearOutputs() {
        if (outputsBuilder_ == null) {
          outputs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          outputsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public Builder removeOutputs(int index) {
        if (outputsBuilder_ == null) {
          ensureOutputsIsMutable();
          outputs_.remove(index);
          onChanged();
        } else {
          outputsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder getOutputsBuilder(
          int index) {
        return getOutputsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder getOutputsOrBuilder(
          int index) {
        if (outputsBuilder_ == null) {
          return outputs_.get(index);  } else {
          return outputsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public java.util.List 
           getOutputsOrBuilderList() {
        if (outputsBuilder_ != null) {
          return outputsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(outputs_);
        }
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder addOutputsBuilder() {
        return getOutputsFieldBuilder().addBuilder(
            clarifai2.internal.grpc.api.OutputOuterClass.Output.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder addOutputsBuilder(
          int index) {
        return getOutputsFieldBuilder().addBuilder(
            index, clarifai2.internal.grpc.api.OutputOuterClass.Output.getDefaultInstance());
      }
      /**
       * repeated .clarifai.api.Output outputs = 6;
       */
      public java.util.List 
           getOutputsBuilderList() {
        return getOutputsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          clarifai2.internal.grpc.api.OutputOuterClass.Output, clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder, clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder> 
          getOutputsFieldBuilder() {
        if (outputsBuilder_ == null) {
          outputsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              clarifai2.internal.grpc.api.OutputOuterClass.Output, clarifai2.internal.grpc.api.OutputOuterClass.Output.Builder, clarifai2.internal.grpc.api.OutputOuterClass.OutputOrBuilder>(
                  outputs_,
                  ((bitField0_ & 0x00000020) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          outputs_ = null;
        }
        return outputsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:clarifai.api.WorkflowResult)
    }

    // @@protoc_insertion_point(class_scope:clarifai.api.WorkflowResult)
    private static final clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult();
    }

    public static clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public clarifai2.internal.grpc.api.WorkflowOuterClass.WorkflowResult getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_Workflow_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_Workflow_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_WorkflowNode_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_WorkflowNode_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_GetWorkflowRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_GetWorkflowRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_ListWorkflowsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_ListWorkflowsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_ListPublicWorkflowsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_PostWorkflowsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_PostWorkflowsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_PatchWorkflowsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_PatchWorkflowsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_DeleteWorkflowRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_DeleteWorkflowRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_DeleteWorkflowsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_SingleWorkflowResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_SingleWorkflowResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_MultiWorkflowResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_MultiWorkflowResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_PostWorkflowResultsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_PostWorkflowResultsResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_clarifai_api_WorkflowResult_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_clarifai_api_WorkflowResult_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!proto/clarifai/api/workflow.proto\022\014cla" +
      "rifai.api\032\037google/protobuf/timestamp.pro" +
      "to\032\037proto/clarifai/api/common.proto\032\036pro" +
      "to/clarifai/api/input.proto\032\036proto/clari" +
      "fai/api/model.proto\032\037proto/clarifai/api/" +
      "output.proto\032&proto/clarifai/api/status/" +
      "status.proto\032)proto/clarifai/api/utils/e" +
      "xtensions.proto\"\201\001\n\010Workflow\022\n\n\002id\030\001 \001(\t" +
      "\022\016\n\006app_id\030\002 \001(\t\022.\n\ncreated_at\030\003 \001(\0132\032.g" +
      "oogle.protobuf.Timestamp\022)\n\005nodes\030\004 \003(\0132" +
      "\032.clarifai.api.WorkflowNode\">\n\014WorkflowN" +
      "ode\022\n\n\002id\030\001 \001(\t\022\"\n\005model\030\002 \001(\0132\023.clarifa" +
      "i.api.Model\"Z\n\022GetWorkflowRequest\022/\n\013use" +
      "r_app_id\030\001 \001(\0132\032.clarifai.api.UserAppIDS" +
      "et\022\023\n\013workflow_id\030\002 \001(\t\"g\n\024ListWorkflows" +
      "Request\022/\n\013user_app_id\030\001 \001(\0132\032.clarifai." +
      "api.UserAppIDSet\022\014\n\004page\030\002 \001(\r\022\020\n\010per_pa" +
      "ge\030\003 \001(\r\"<\n\032ListPublicWorkflowsRequest\022\014" +
      "\n\004page\030\001 \001(\r\022\020\n\010per_page\030\002 \001(\r\"r\n\024PostWo" +
      "rkflowsRequest\022/\n\013user_app_id\030\001 \001(\0132\032.cl" +
      "arifai.api.UserAppIDSet\022)\n\tworkflows\030\002 \003" +
      "(\0132\026.clarifai.api.Workflow\"\203\001\n\025PatchWork" +
      "flowsRequest\022/\n\013user_app_id\030\001 \001(\0132\032.clar" +
      "ifai.api.UserAppIDSet\022)\n\tworkflows\030\002 \003(\013" +
      "2\026.clarifai.api.Workflow\022\016\n\006action\030\003 \001(\t" +
      "\"]\n\025DeleteWorkflowRequest\022/\n\013user_app_id" +
      "\030\001 \001(\0132\032.clarifai.api.UserAppIDSet\022\023\n\013wo" +
      "rkflow_id\030\002 \001(\t\"j\n\026DeleteWorkflowsReques" +
      "t\022/\n\013user_app_id\030\001 \001(\0132\032.clarifai.api.Us" +
      "erAppIDSet\022\013\n\003ids\030\002 \003(\t\022\022\n\ndelete_all\030\003 " +
      "\001(\010\"o\n\026SingleWorkflowResponse\022+\n\006status\030" +
      "\001 \001(\0132\033.clarifai.api.status.Status\022(\n\010wo" +
      "rkflow\030\002 \001(\0132\026.clarifai.api.Workflow\"u\n\025" +
      "MultiWorkflowResponse\022+\n\006status\030\001 \001(\0132\033." +
      "clarifai.api.status.Status\022/\n\tworkflows\030" +
      "\002 \003(\0132\026.clarifai.api.WorkflowB\004\200\265\030\001\"\272\001\n\032" +
      "PostWorkflowResultsRequest\022/\n\013user_app_i" +
      "d\030\001 \001(\0132\032.clarifai.api.UserAppIDSet\022\023\n\013w" +
      "orkflow_id\030\002 \001(\t\022#\n\006inputs\030\003 \003(\0132\023.clari" +
      "fai.api.Input\0221\n\routput_config\030\004 \001(\0132\032.c" +
      "larifai.api.OutputConfig\"\243\001\n\033PostWorkflo" +
      "wResultsResponse\022+\n\006status\030\001 \001(\0132\033.clari" +
      "fai.api.status.Status\022(\n\010workflow\030\002 \001(\0132" +
      "\026.clarifai.api.Workflow\022-\n\007results\030\003 \003(\013" +
      "2\034.clarifai.api.WorkflowResult\"\350\001\n\016Workf" +
      "lowResult\022\n\n\002id\030\001 \001(\t\022+\n\006status\030\002 \001(\0132\033." +
      "clarifai.api.status.Status\022.\n\ncreated_at" +
      "\030\003 \001(\0132\032.google.protobuf.Timestamp\022\"\n\005mo" +
      "del\030\004 \001(\0132\023.clarifai.api.Model\022\"\n\005input\030" +
      "\005 \001(\0132\023.clarifai.api.Input\022%\n\007outputs\030\006 " +
      "\003(\0132\024.clarifai.api.OutputBA\n\033clarifai2.i" +
      "nternal.grpc.apiZ\003api\242\002\004CAIP\302\002\001_\312\002\021Clari" +
      "fai\\Internalb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.TimestampProto.getDescriptor(),
          clarifai2.internal.grpc.api.Common.getDescriptor(),
          clarifai2.internal.grpc.api.InputOuterClass.getDescriptor(),
          clarifai2.internal.grpc.api.ModelOuterClass.getDescriptor(),
          clarifai2.internal.grpc.api.OutputOuterClass.getDescriptor(),
          clarifai2.internal.grpc.api.status.StatusOuterClass.getDescriptor(),
          clarifai2.internal.grpc.api.utils.Extensions.getDescriptor(),
        }, assigner);
    internal_static_clarifai_api_Workflow_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_clarifai_api_Workflow_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_Workflow_descriptor,
        new java.lang.String[] { "Id", "AppId", "CreatedAt", "Nodes", });
    internal_static_clarifai_api_WorkflowNode_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_clarifai_api_WorkflowNode_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_WorkflowNode_descriptor,
        new java.lang.String[] { "Id", "Model", });
    internal_static_clarifai_api_GetWorkflowRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_clarifai_api_GetWorkflowRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_GetWorkflowRequest_descriptor,
        new java.lang.String[] { "UserAppId", "WorkflowId", });
    internal_static_clarifai_api_ListWorkflowsRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_clarifai_api_ListWorkflowsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_ListWorkflowsRequest_descriptor,
        new java.lang.String[] { "UserAppId", "Page", "PerPage", });
    internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_clarifai_api_ListPublicWorkflowsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_ListPublicWorkflowsRequest_descriptor,
        new java.lang.String[] { "Page", "PerPage", });
    internal_static_clarifai_api_PostWorkflowsRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_clarifai_api_PostWorkflowsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_PostWorkflowsRequest_descriptor,
        new java.lang.String[] { "UserAppId", "Workflows", });
    internal_static_clarifai_api_PatchWorkflowsRequest_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_clarifai_api_PatchWorkflowsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_PatchWorkflowsRequest_descriptor,
        new java.lang.String[] { "UserAppId", "Workflows", "Action", });
    internal_static_clarifai_api_DeleteWorkflowRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_clarifai_api_DeleteWorkflowRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_DeleteWorkflowRequest_descriptor,
        new java.lang.String[] { "UserAppId", "WorkflowId", });
    internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_clarifai_api_DeleteWorkflowsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_DeleteWorkflowsRequest_descriptor,
        new java.lang.String[] { "UserAppId", "Ids", "DeleteAll", });
    internal_static_clarifai_api_SingleWorkflowResponse_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_clarifai_api_SingleWorkflowResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_SingleWorkflowResponse_descriptor,
        new java.lang.String[] { "Status", "Workflow", });
    internal_static_clarifai_api_MultiWorkflowResponse_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_clarifai_api_MultiWorkflowResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_MultiWorkflowResponse_descriptor,
        new java.lang.String[] { "Status", "Workflows", });
    internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_clarifai_api_PostWorkflowResultsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_PostWorkflowResultsRequest_descriptor,
        new java.lang.String[] { "UserAppId", "WorkflowId", "Inputs", "OutputConfig", });
    internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_clarifai_api_PostWorkflowResultsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_PostWorkflowResultsResponse_descriptor,
        new java.lang.String[] { "Status", "Workflow", "Results", });
    internal_static_clarifai_api_WorkflowResult_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_clarifai_api_WorkflowResult_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_clarifai_api_WorkflowResult_descriptor,
        new java.lang.String[] { "Id", "Status", "CreatedAt", "Model", "Input", "Outputs", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(clarifai2.internal.grpc.api.utils.Extensions.clShowIfEmpty);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.protobuf.TimestampProto.getDescriptor();
    clarifai2.internal.grpc.api.Common.getDescriptor();
    clarifai2.internal.grpc.api.InputOuterClass.getDescriptor();
    clarifai2.internal.grpc.api.ModelOuterClass.getDescriptor();
    clarifai2.internal.grpc.api.OutputOuterClass.getDescriptor();
    clarifai2.internal.grpc.api.status.StatusOuterClass.getDescriptor();
    clarifai2.internal.grpc.api.utils.Extensions.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy