/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * license agreements; and to You under the Apache License, version 2.0:
 *
 *   https://www.apache.org/licenses/LICENSE-2.0
 *
 * This file is part of the Apache Pekko project, which was derived from Akka.
 */

/*
 * Copyright (C) 2019-2022 Lightbend Inc. <https://www.lightbend.com>
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: ReliableDelivery.proto
// Protobuf Java Version: 4.33.0

package org.apache.pekko.cluster.typed.internal.protobuf;

@org.apache.pekko.protobufv3.internal.Generated
public final class ReliableDelivery extends org.apache.pekko.protobufv3.internal.GeneratedFile {
  private ReliableDelivery() {}
  static {
    org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
      org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 33,
      /* patch= */ 0,
      /* suffix= */ "",
      "ReliableDelivery");
  }
  public static void registerAllExtensions(
      org.apache.pekko.protobufv3.internal.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      org.apache.pekko.protobufv3.internal.ExtensionRegistry registry) {
    registerAllExtensions(
        (org.apache.pekko.protobufv3.internal.ExtensionRegistryLite) registry);
  }
  public interface SequencedMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.SequencedMessage)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string producerId = 1;</code>
     * @return Whether the producerId field is set.
     */
    boolean hasProducerId();
    /**
     * <code>required string producerId = 1;</code>
     * @return The producerId.
     */
    java.lang.String getProducerId();
    /**
     * <code>required string producerId = 1;</code>
     * @return The bytes for producerId.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getProducerIdBytes();

    /**
     * <code>required int64 seqNr = 2;</code>
     * @return Whether the seqNr field is set.
     */
    boolean hasSeqNr();
    /**
     * <code>required int64 seqNr = 2;</code>
     * @return The seqNr.
     */
    long getSeqNr();

    /**
     * <code>required bool first = 3;</code>
     * @return Whether the first field is set.
     */
    boolean hasFirst();
    /**
     * <code>required bool first = 3;</code>
     * @return The first.
     */
    boolean getFirst();

    /**
     * <code>required bool ack = 4;</code>
     * @return Whether the ack field is set.
     */
    boolean hasAck();
    /**
     * <code>required bool ack = 4;</code>
     * @return The ack.
     */
    boolean getAck();

    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return Whether the producerControllerRef field is set.
     */
    boolean hasProducerControllerRef();
    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return The producerControllerRef.
     */
    java.lang.String getProducerControllerRef();
    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return The bytes for producerControllerRef.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getProducerControllerRefBytes();

    /**
     * <code>required .Payload message = 6;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>required .Payload message = 6;</code>
     * @return The message.
     */
    org.apache.pekko.remote.ContainerFormats.Payload getMessage();
    /**
     * <code>required .Payload message = 6;</code>
     */
    org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder();

    /**
     * <code>optional bool firstChunk = 7;</code>
     * @return Whether the firstChunk field is set.
     */
    boolean hasFirstChunk();
    /**
     * <code>optional bool firstChunk = 7;</code>
     * @return The firstChunk.
     */
    boolean getFirstChunk();

    /**
     * <code>optional bool lastChunk = 8;</code>
     * @return Whether the lastChunk field is set.
     */
    boolean hasLastChunk();
    /**
     * <code>optional bool lastChunk = 8;</code>
     * @return The lastChunk.
     */
    boolean getLastChunk();
  }
  /**
   * <pre>
   * ConsumerController
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.SequencedMessage}
   */
  public static final class SequencedMessage extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.SequencedMessage)
      SequencedMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "SequencedMessage");
    }
    // Use SequencedMessage.newBuilder() to construct.
    private SequencedMessage(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private SequencedMessage() {
      producerId_ = "";
      producerControllerRef_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.Builder.class);
    }

    private int bitField0_;
    public static final int PRODUCERID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object producerId_ = "";
    /**
     * <code>required string producerId = 1;</code>
     * @return Whether the producerId field is set.
     */
    @java.lang.Override
    public boolean hasProducerId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string producerId = 1;</code>
     * @return The producerId.
     */
    @java.lang.Override
    public java.lang.String getProducerId() {
      java.lang.Object ref = producerId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        org.apache.pekko.protobufv3.internal.ByteString bs = 
            (org.apache.pekko.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          producerId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string producerId = 1;</code>
     * @return The bytes for producerId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getProducerIdBytes() {
      java.lang.Object ref = producerId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        producerId_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int SEQNR_FIELD_NUMBER = 2;
    private long seqNr_ = 0L;
    /**
     * <code>required int64 seqNr = 2;</code>
     * @return Whether the seqNr field is set.
     */
    @java.lang.Override
    public boolean hasSeqNr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int64 seqNr = 2;</code>
     * @return The seqNr.
     */
    @java.lang.Override
    public long getSeqNr() {
      return seqNr_;
    }

    public static final int FIRST_FIELD_NUMBER = 3;
    private boolean first_ = false;
    /**
     * <code>required bool first = 3;</code>
     * @return Whether the first field is set.
     */
    @java.lang.Override
    public boolean hasFirst() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required bool first = 3;</code>
     * @return The first.
     */
    @java.lang.Override
    public boolean getFirst() {
      return first_;
    }

    public static final int ACK_FIELD_NUMBER = 4;
    private boolean ack_ = false;
    /**
     * <code>required bool ack = 4;</code>
     * @return Whether the ack field is set.
     */
    @java.lang.Override
    public boolean hasAck() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required bool ack = 4;</code>
     * @return The ack.
     */
    @java.lang.Override
    public boolean getAck() {
      return ack_;
    }

    public static final int PRODUCERCONTROLLERREF_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object producerControllerRef_ = "";
    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return Whether the producerControllerRef field is set.
     */
    @java.lang.Override
    public boolean hasProducerControllerRef() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return The producerControllerRef.
     */
    @java.lang.Override
    public java.lang.String getProducerControllerRef() {
      java.lang.Object ref = producerControllerRef_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        org.apache.pekko.protobufv3.internal.ByteString bs = 
            (org.apache.pekko.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          producerControllerRef_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string producerControllerRef = 5;</code>
     * @return The bytes for producerControllerRef.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getProducerControllerRefBytes() {
      java.lang.Object ref = producerControllerRef_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        producerControllerRef_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int MESSAGE_FIELD_NUMBER = 6;
    private org.apache.pekko.remote.ContainerFormats.Payload message_;
    /**
     * <code>required .Payload message = 6;</code>
     * @return Whether the message field is set.
     */
    @java.lang.Override
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>required .Payload message = 6;</code>
     * @return The message.
     */
    @java.lang.Override
    public org.apache.pekko.remote.ContainerFormats.Payload getMessage() {
      return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
    }
    /**
     * <code>required .Payload message = 6;</code>
     */
    @java.lang.Override
    public org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
      return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
    }

    public static final int FIRSTCHUNK_FIELD_NUMBER = 7;
    private boolean firstChunk_ = false;
    /**
     * <code>optional bool firstChunk = 7;</code>
     * @return Whether the firstChunk field is set.
     */
    @java.lang.Override
    public boolean hasFirstChunk() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional bool firstChunk = 7;</code>
     * @return The firstChunk.
     */
    @java.lang.Override
    public boolean getFirstChunk() {
      return firstChunk_;
    }

    public static final int LASTCHUNK_FIELD_NUMBER = 8;
    private boolean lastChunk_ = false;
    /**
     * <code>optional bool lastChunk = 8;</code>
     * @return Whether the lastChunk field is set.
     */
    @java.lang.Override
    public boolean hasLastChunk() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <code>optional bool lastChunk = 8;</code>
     * @return The lastChunk.
     */
    @java.lang.Override
    public boolean getLastChunk() {
      return lastChunk_;
    }

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

      if (!hasProducerId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFirst()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAck()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasProducerControllerRef()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getMessage().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, producerId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, seqNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(3, first_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(4, ack_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 5, producerControllerRef_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(6, getMessage());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeBool(7, firstChunk_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeBool(8, lastChunk_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(1, producerId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(2, seqNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(3, first_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(4, ack_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(5, producerControllerRef_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(6, getMessage());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(7, firstChunk_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(8, lastChunk_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage) obj;

      if (hasProducerId() != other.hasProducerId()) return false;
      if (hasProducerId()) {
        if (!getProducerId()
            .equals(other.getProducerId())) return false;
      }
      if (hasSeqNr() != other.hasSeqNr()) return false;
      if (hasSeqNr()) {
        if (getSeqNr()
            != other.getSeqNr()) return false;
      }
      if (hasFirst() != other.hasFirst()) return false;
      if (hasFirst()) {
        if (getFirst()
            != other.getFirst()) return false;
      }
      if (hasAck() != other.hasAck()) return false;
      if (hasAck()) {
        if (getAck()
            != other.getAck()) return false;
      }
      if (hasProducerControllerRef() != other.hasProducerControllerRef()) return false;
      if (hasProducerControllerRef()) {
        if (!getProducerControllerRef()
            .equals(other.getProducerControllerRef())) return false;
      }
      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasFirstChunk() != other.hasFirstChunk()) return false;
      if (hasFirstChunk()) {
        if (getFirstChunk()
            != other.getFirstChunk()) return false;
      }
      if (hasLastChunk() != other.hasLastChunk()) return false;
      if (hasLastChunk()) {
        if (getLastChunk()
            != other.getLastChunk()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasProducerId()) {
        hash = (37 * hash) + PRODUCERID_FIELD_NUMBER;
        hash = (53 * hash) + getProducerId().hashCode();
      }
      if (hasSeqNr()) {
        hash = (37 * hash) + SEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getSeqNr());
      }
      if (hasFirst()) {
        hash = (37 * hash) + FIRST_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getFirst());
      }
      if (hasAck()) {
        hash = (37 * hash) + ACK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getAck());
      }
      if (hasProducerControllerRef()) {
        hash = (37 * hash) + PRODUCERCONTROLLERREF_FIELD_NUMBER;
        hash = (53 * hash) + getProducerControllerRef().hashCode();
      }
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasFirstChunk()) {
        hash = (37 * hash) + FIRSTCHUNK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getFirstChunk());
      }
      if (hasLastChunk()) {
        hash = (37 * hash) + LASTCHUNK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getLastChunk());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ConsumerController
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.SequencedMessage}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.SequencedMessage)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessageOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (org.apache.pekko.protobufv3.internal.GeneratedMessage
                .alwaysUseFieldBuilders) {
          internalGetMessageFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        producerId_ = "";
        seqNr_ = 0L;
        first_ = false;
        ack_ = false;
        producerControllerRef_ = "";
        message_ = null;
        if (messageBuilder_ != null) {
          messageBuilder_.dispose();
          messageBuilder_ = null;
        }
        firstChunk_ = false;
        lastChunk_ = false;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.producerId_ = producerId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.seqNr_ = seqNr_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.first_ = first_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.ack_ = ack_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.producerControllerRef_ = producerControllerRef_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.message_ = messageBuilder_ == null
              ? message_
              : messageBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.firstChunk_ = firstChunk_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.lastChunk_ = lastChunk_;
          to_bitField0_ |= 0x00000080;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.getDefaultInstance()) return this;
        if (other.hasProducerId()) {
          producerId_ = other.producerId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasSeqNr()) {
          setSeqNr(other.getSeqNr());
        }
        if (other.hasFirst()) {
          setFirst(other.getFirst());
        }
        if (other.hasAck()) {
          setAck(other.getAck());
        }
        if (other.hasProducerControllerRef()) {
          producerControllerRef_ = other.producerControllerRef_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (other.hasMessage()) {
          mergeMessage(other.getMessage());
        }
        if (other.hasFirstChunk()) {
          setFirstChunk(other.getFirstChunk());
        }
        if (other.hasLastChunk()) {
          setLastChunk(other.getLastChunk());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasProducerId()) {
          return false;
        }
        if (!hasSeqNr()) {
          return false;
        }
        if (!hasFirst()) {
          return false;
        }
        if (!hasAck()) {
          return false;
        }
        if (!hasProducerControllerRef()) {
          return false;
        }
        if (!hasMessage()) {
          return false;
        }
        if (!getMessage().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                producerId_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                seqNr_ = input.readInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                first_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                ack_ = input.readBool();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 42: {
                producerControllerRef_ = input.readBytes();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    internalGetMessageFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 56: {
                firstChunk_ = input.readBool();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              case 64: {
                lastChunk_ = input.readBool();
                bitField0_ |= 0x00000080;
                break;
              } // case 64
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object producerId_ = "";
      /**
       * <code>required string producerId = 1;</code>
       * @return Whether the producerId field is set.
       */
      public boolean hasProducerId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string producerId = 1;</code>
       * @return The producerId.
       */
      public java.lang.String getProducerId() {
        java.lang.Object ref = producerId_;
        if (!(ref instanceof java.lang.String)) {
          org.apache.pekko.protobufv3.internal.ByteString bs =
              (org.apache.pekko.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            producerId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string producerId = 1;</code>
       * @return The bytes for producerId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getProducerIdBytes() {
        java.lang.Object ref = producerId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          producerId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string producerId = 1;</code>
       * @param value The producerId to set.
       * @return This builder for chaining.
       */
      public Builder setProducerId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        producerId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string producerId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProducerId() {
        producerId_ = getDefaultInstance().getProducerId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string producerId = 1;</code>
       * @param value The bytes for producerId to set.
       * @return This builder for chaining.
       */
      public Builder setProducerIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        producerId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private long seqNr_ ;
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
      /**
       * <code>required int64 seqNr = 2;</code>
       * @param value The seqNr to set.
       * @return This builder for chaining.
       */
      public Builder setSeqNr(long value) {

        seqNr_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        seqNr_ = 0L;
        onChanged();
        return this;
      }

      private boolean first_ ;
      /**
       * <code>required bool first = 3;</code>
       * @return Whether the first field is set.
       */
      @java.lang.Override
      public boolean hasFirst() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool first = 3;</code>
       * @return The first.
       */
      @java.lang.Override
      public boolean getFirst() {
        return first_;
      }
      /**
       * <code>required bool first = 3;</code>
       * @param value The first to set.
       * @return This builder for chaining.
       */
      public Builder setFirst(boolean value) {

        first_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required bool first = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirst() {
        bitField0_ = (bitField0_ & ~0x00000004);
        first_ = false;
        onChanged();
        return this;
      }

      private boolean ack_ ;
      /**
       * <code>required bool ack = 4;</code>
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required bool ack = 4;</code>
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
      /**
       * <code>required bool ack = 4;</code>
       * @param value The ack to set.
       * @return This builder for chaining.
       */
      public Builder setAck(boolean value) {

        ack_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>required bool ack = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearAck() {
        bitField0_ = (bitField0_ & ~0x00000008);
        ack_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object producerControllerRef_ = "";
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return Whether the producerControllerRef field is set.
       */
      public boolean hasProducerControllerRef() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The producerControllerRef.
       */
      public java.lang.String getProducerControllerRef() {
        java.lang.Object ref = producerControllerRef_;
        if (!(ref instanceof java.lang.String)) {
          org.apache.pekko.protobufv3.internal.ByteString bs =
              (org.apache.pekko.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            producerControllerRef_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The bytes for producerControllerRef.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getProducerControllerRefBytes() {
        java.lang.Object ref = producerControllerRef_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          producerControllerRef_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @param value The producerControllerRef to set.
       * @return This builder for chaining.
       */
      public Builder setProducerControllerRef(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        producerControllerRef_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearProducerControllerRef() {
        producerControllerRef_ = getDefaultInstance().getProducerControllerRef();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @param value The bytes for producerControllerRef to set.
       * @return This builder for chaining.
       */
      public Builder setProducerControllerRefBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        producerControllerRef_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private org.apache.pekko.remote.ContainerFormats.Payload message_;
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder> messageBuilder_;
      /**
       * <code>required .Payload message = 6;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>required .Payload message = 6;</code>
       * @return The message.
       */
      public org.apache.pekko.remote.ContainerFormats.Payload getMessage() {
        if (messageBuilder_ == null) {
          return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
        } else {
          return messageBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public Builder setMessage(org.apache.pekko.remote.ContainerFormats.Payload value) {
        if (messageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          message_ = value;
        } else {
          messageBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public Builder setMessage(
          org.apache.pekko.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (messageBuilder_ == null) {
          message_ = builderForValue.build();
        } else {
          messageBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public Builder mergeMessage(org.apache.pekko.remote.ContainerFormats.Payload value) {
        if (messageBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            message_ != null &&
            message_ != org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance()) {
            getMessageBuilder().mergeFrom(value);
          } else {
            message_ = value;
          }
        } else {
          messageBuilder_.mergeFrom(value);
        }
        if (message_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000020);
        message_ = null;
        if (messageBuilder_ != null) {
          messageBuilder_.dispose();
          messageBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public org.apache.pekko.remote.ContainerFormats.Payload.Builder getMessageBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return internalGetMessageFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      public org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
        if (messageBuilder_ != null) {
          return messageBuilder_.getMessageOrBuilder();
        } else {
          return message_ == null ?
              org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
        }
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder> 
          internalGetMessageFieldBuilder() {
        if (messageBuilder_ == null) {
          messageBuilder_ = new org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
              org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder>(
                  getMessage(),
                  getParentForChildren(),
                  isClean());
          message_ = null;
        }
        return messageBuilder_;
      }

      private boolean firstChunk_ ;
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return Whether the firstChunk field is set.
       */
      @java.lang.Override
      public boolean hasFirstChunk() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return The firstChunk.
       */
      @java.lang.Override
      public boolean getFirstChunk() {
        return firstChunk_;
      }
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @param value The firstChunk to set.
       * @return This builder for chaining.
       */
      public Builder setFirstChunk(boolean value) {

        firstChunk_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstChunk() {
        bitField0_ = (bitField0_ & ~0x00000040);
        firstChunk_ = false;
        onChanged();
        return this;
      }

      private boolean lastChunk_ ;
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return Whether the lastChunk field is set.
       */
      @java.lang.Override
      public boolean hasLastChunk() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return The lastChunk.
       */
      @java.lang.Override
      public boolean getLastChunk() {
        return lastChunk_;
      }
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @param value The lastChunk to set.
       * @return This builder for chaining.
       */
      public Builder setLastChunk(boolean value) {

        lastChunk_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearLastChunk() {
        bitField0_ = (bitField0_ & ~0x00000080);
        lastChunk_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.SequencedMessage)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.SequencedMessage)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<SequencedMessage>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<SequencedMessage>() {
      @java.lang.Override
      public SequencedMessage parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<SequencedMessage> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<SequencedMessage> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegisterConsumerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.RegisterConsumer)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return Whether the consumerControllerRef field is set.
     */
    boolean hasConsumerControllerRef();
    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return The consumerControllerRef.
     */
    java.lang.String getConsumerControllerRef();
    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return The bytes for consumerControllerRef.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getConsumerControllerRefBytes();
  }
  /**
   * <pre>
   * ProducerController
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.RegisterConsumer}
   */
  public static final class RegisterConsumer extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.RegisterConsumer)
      RegisterConsumerOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "RegisterConsumer");
    }
    // Use RegisterConsumer.newBuilder() to construct.
    private RegisterConsumer(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private RegisterConsumer() {
      consumerControllerRef_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.Builder.class);
    }

    private int bitField0_;
    public static final int CONSUMERCONTROLLERREF_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object consumerControllerRef_ = "";
    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return Whether the consumerControllerRef field is set.
     */
    @java.lang.Override
    public boolean hasConsumerControllerRef() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return The consumerControllerRef.
     */
    @java.lang.Override
    public java.lang.String getConsumerControllerRef() {
      java.lang.Object ref = consumerControllerRef_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        org.apache.pekko.protobufv3.internal.ByteString bs = 
            (org.apache.pekko.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          consumerControllerRef_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string consumerControllerRef = 1;</code>
     * @return The bytes for consumerControllerRef.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getConsumerControllerRefBytes() {
      java.lang.Object ref = consumerControllerRef_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        consumerControllerRef_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

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

      if (!hasConsumerControllerRef()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, consumerControllerRef_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(1, consumerControllerRef_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer) obj;

      if (hasConsumerControllerRef() != other.hasConsumerControllerRef()) return false;
      if (hasConsumerControllerRef()) {
        if (!getConsumerControllerRef()
            .equals(other.getConsumerControllerRef())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasConsumerControllerRef()) {
        hash = (37 * hash) + CONSUMERCONTROLLERREF_FIELD_NUMBER;
        hash = (53 * hash) + getConsumerControllerRef().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.RegisterConsumer}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.RegisterConsumer)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumerOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        consumerControllerRef_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.consumerControllerRef_ = consumerControllerRef_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.getDefaultInstance()) return this;
        if (other.hasConsumerControllerRef()) {
          consumerControllerRef_ = other.consumerControllerRef_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                consumerControllerRef_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object consumerControllerRef_ = "";
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return Whether the consumerControllerRef field is set.
       */
      public boolean hasConsumerControllerRef() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The consumerControllerRef.
       */
      public java.lang.String getConsumerControllerRef() {
        java.lang.Object ref = consumerControllerRef_;
        if (!(ref instanceof java.lang.String)) {
          org.apache.pekko.protobufv3.internal.ByteString bs =
              (org.apache.pekko.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            consumerControllerRef_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The bytes for consumerControllerRef.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getConsumerControllerRefBytes() {
        java.lang.Object ref = consumerControllerRef_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          consumerControllerRef_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @param value The consumerControllerRef to set.
       * @return This builder for chaining.
       */
      public Builder setConsumerControllerRef(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        consumerControllerRef_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConsumerControllerRef() {
        consumerControllerRef_ = getDefaultInstance().getConsumerControllerRef();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @param value The bytes for consumerControllerRef to set.
       * @return This builder for chaining.
       */
      public Builder setConsumerControllerRefBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        consumerControllerRef_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.RegisterConsumer)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.RegisterConsumer)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<RegisterConsumer>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<RegisterConsumer>() {
      @java.lang.Override
      public RegisterConsumer parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<RegisterConsumer> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<RegisterConsumer> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.Request)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return Whether the confirmedSeqNr field is set.
     */
    boolean hasConfirmedSeqNr();
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return The confirmedSeqNr.
     */
    long getConfirmedSeqNr();

    /**
     * <code>required int64 requestUpToSeqNr = 2;</code>
     * @return Whether the requestUpToSeqNr field is set.
     */
    boolean hasRequestUpToSeqNr();
    /**
     * <code>required int64 requestUpToSeqNr = 2;</code>
     * @return The requestUpToSeqNr.
     */
    long getRequestUpToSeqNr();

    /**
     * <code>required bool supportResend = 3;</code>
     * @return Whether the supportResend field is set.
     */
    boolean hasSupportResend();
    /**
     * <code>required bool supportResend = 3;</code>
     * @return The supportResend.
     */
    boolean getSupportResend();

    /**
     * <code>required bool viaTimeout = 4;</code>
     * @return Whether the viaTimeout field is set.
     */
    boolean hasViaTimeout();
    /**
     * <code>required bool viaTimeout = 4;</code>
     * @return The viaTimeout.
     */
    boolean getViaTimeout();
  }
  /**
   * <pre>
   * ProducerController
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Request}
   */
  public static final class Request extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.Request)
      RequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "Request");
    }
    // Use Request.newBuilder() to construct.
    private Request(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Request() {
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Request_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.Builder.class);
    }

    private int bitField0_;
    public static final int CONFIRMEDSEQNR_FIELD_NUMBER = 1;
    private long confirmedSeqNr_ = 0L;
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return Whether the confirmedSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasConfirmedSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return The confirmedSeqNr.
     */
    @java.lang.Override
    public long getConfirmedSeqNr() {
      return confirmedSeqNr_;
    }

    public static final int REQUESTUPTOSEQNR_FIELD_NUMBER = 2;
    private long requestUpToSeqNr_ = 0L;
    /**
     * <code>required int64 requestUpToSeqNr = 2;</code>
     * @return Whether the requestUpToSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasRequestUpToSeqNr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int64 requestUpToSeqNr = 2;</code>
     * @return The requestUpToSeqNr.
     */
    @java.lang.Override
    public long getRequestUpToSeqNr() {
      return requestUpToSeqNr_;
    }

    public static final int SUPPORTRESEND_FIELD_NUMBER = 3;
    private boolean supportResend_ = false;
    /**
     * <code>required bool supportResend = 3;</code>
     * @return Whether the supportResend field is set.
     */
    @java.lang.Override
    public boolean hasSupportResend() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required bool supportResend = 3;</code>
     * @return The supportResend.
     */
    @java.lang.Override
    public boolean getSupportResend() {
      return supportResend_;
    }

    public static final int VIATIMEOUT_FIELD_NUMBER = 4;
    private boolean viaTimeout_ = false;
    /**
     * <code>required bool viaTimeout = 4;</code>
     * @return Whether the viaTimeout field is set.
     */
    @java.lang.Override
    public boolean hasViaTimeout() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required bool viaTimeout = 4;</code>
     * @return The viaTimeout.
     */
    @java.lang.Override
    public boolean getViaTimeout() {
      return viaTimeout_;
    }

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

      if (!hasConfirmedSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRequestUpToSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSupportResend()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasViaTimeout()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, confirmedSeqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, requestUpToSeqNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(3, supportResend_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(4, viaTimeout_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, confirmedSeqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(2, requestUpToSeqNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(3, supportResend_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(4, viaTimeout_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request) obj;

      if (hasConfirmedSeqNr() != other.hasConfirmedSeqNr()) return false;
      if (hasConfirmedSeqNr()) {
        if (getConfirmedSeqNr()
            != other.getConfirmedSeqNr()) return false;
      }
      if (hasRequestUpToSeqNr() != other.hasRequestUpToSeqNr()) return false;
      if (hasRequestUpToSeqNr()) {
        if (getRequestUpToSeqNr()
            != other.getRequestUpToSeqNr()) return false;
      }
      if (hasSupportResend() != other.hasSupportResend()) return false;
      if (hasSupportResend()) {
        if (getSupportResend()
            != other.getSupportResend()) return false;
      }
      if (hasViaTimeout() != other.hasViaTimeout()) return false;
      if (hasViaTimeout()) {
        if (getViaTimeout()
            != other.getViaTimeout()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasConfirmedSeqNr()) {
        hash = (37 * hash) + CONFIRMEDSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getConfirmedSeqNr());
      }
      if (hasRequestUpToSeqNr()) {
        hash = (37 * hash) + REQUESTUPTOSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getRequestUpToSeqNr());
      }
      if (hasSupportResend()) {
        hash = (37 * hash) + SUPPORTRESEND_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getSupportResend());
      }
      if (hasViaTimeout()) {
        hash = (37 * hash) + VIATIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getViaTimeout());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Request}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.Request)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.RequestOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        confirmedSeqNr_ = 0L;
        requestUpToSeqNr_ = 0L;
        supportResend_ = false;
        viaTimeout_ = false;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.confirmedSeqNr_ = confirmedSeqNr_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.requestUpToSeqNr_ = requestUpToSeqNr_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.supportResend_ = supportResend_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.viaTimeout_ = viaTimeout_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request.getDefaultInstance()) return this;
        if (other.hasConfirmedSeqNr()) {
          setConfirmedSeqNr(other.getConfirmedSeqNr());
        }
        if (other.hasRequestUpToSeqNr()) {
          setRequestUpToSeqNr(other.getRequestUpToSeqNr());
        }
        if (other.hasSupportResend()) {
          setSupportResend(other.getSupportResend());
        }
        if (other.hasViaTimeout()) {
          setViaTimeout(other.getViaTimeout());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasConfirmedSeqNr()) {
          return false;
        }
        if (!hasRequestUpToSeqNr()) {
          return false;
        }
        if (!hasSupportResend()) {
          return false;
        }
        if (!hasViaTimeout()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                confirmedSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                requestUpToSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                supportResend_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                viaTimeout_ = input.readBool();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long confirmedSeqNr_ ;
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasConfirmedSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      @java.lang.Override
      public long getConfirmedSeqNr() {
        return confirmedSeqNr_;
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @param value The confirmedSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setConfirmedSeqNr(long value) {

        confirmedSeqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConfirmedSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        confirmedSeqNr_ = 0L;
        onChanged();
        return this;
      }

      private long requestUpToSeqNr_ ;
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return Whether the requestUpToSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasRequestUpToSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return The requestUpToSeqNr.
       */
      @java.lang.Override
      public long getRequestUpToSeqNr() {
        return requestUpToSeqNr_;
      }
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @param value The requestUpToSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setRequestUpToSeqNr(long value) {

        requestUpToSeqNr_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRequestUpToSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        requestUpToSeqNr_ = 0L;
        onChanged();
        return this;
      }

      private boolean supportResend_ ;
      /**
       * <code>required bool supportResend = 3;</code>
       * @return Whether the supportResend field is set.
       */
      @java.lang.Override
      public boolean hasSupportResend() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool supportResend = 3;</code>
       * @return The supportResend.
       */
      @java.lang.Override
      public boolean getSupportResend() {
        return supportResend_;
      }
      /**
       * <code>required bool supportResend = 3;</code>
       * @param value The supportResend to set.
       * @return This builder for chaining.
       */
      public Builder setSupportResend(boolean value) {

        supportResend_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required bool supportResend = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearSupportResend() {
        bitField0_ = (bitField0_ & ~0x00000004);
        supportResend_ = false;
        onChanged();
        return this;
      }

      private boolean viaTimeout_ ;
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return Whether the viaTimeout field is set.
       */
      @java.lang.Override
      public boolean hasViaTimeout() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return The viaTimeout.
       */
      @java.lang.Override
      public boolean getViaTimeout() {
        return viaTimeout_;
      }
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @param value The viaTimeout to set.
       * @return This builder for chaining.
       */
      public Builder setViaTimeout(boolean value) {

        viaTimeout_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearViaTimeout() {
        bitField0_ = (bitField0_ & ~0x00000008);
        viaTimeout_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.Request)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.Request)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Request>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Request>() {
      @java.lang.Override
      public Request parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<Request> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<Request> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResendOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.Resend)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 fromSeqNr = 1;</code>
     * @return Whether the fromSeqNr field is set.
     */
    boolean hasFromSeqNr();
    /**
     * <code>required int64 fromSeqNr = 1;</code>
     * @return The fromSeqNr.
     */
    long getFromSeqNr();
  }
  /**
   * <pre>
   * ProducerController
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Resend}
   */
  public static final class Resend extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.Resend)
      ResendOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "Resend");
    }
    // Use Resend.newBuilder() to construct.
    private Resend(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Resend() {
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Resend_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.Builder.class);
    }

    private int bitField0_;
    public static final int FROMSEQNR_FIELD_NUMBER = 1;
    private long fromSeqNr_ = 0L;
    /**
     * <code>required int64 fromSeqNr = 1;</code>
     * @return Whether the fromSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasFromSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 fromSeqNr = 1;</code>
     * @return The fromSeqNr.
     */
    @java.lang.Override
    public long getFromSeqNr() {
      return fromSeqNr_;
    }

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

      if (!hasFromSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, fromSeqNr_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, fromSeqNr_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend) obj;

      if (hasFromSeqNr() != other.hasFromSeqNr()) return false;
      if (hasFromSeqNr()) {
        if (getFromSeqNr()
            != other.getFromSeqNr()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasFromSeqNr()) {
        hash = (37 * hash) + FROMSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getFromSeqNr());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Resend}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.Resend)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ResendOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Resend_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        fromSeqNr_ = 0L;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.fromSeqNr_ = fromSeqNr_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend.getDefaultInstance()) return this;
        if (other.hasFromSeqNr()) {
          setFromSeqNr(other.getFromSeqNr());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                fromSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long fromSeqNr_ ;
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return Whether the fromSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasFromSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return The fromSeqNr.
       */
      @java.lang.Override
      public long getFromSeqNr() {
        return fromSeqNr_;
      }
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @param value The fromSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setFromSeqNr(long value) {

        fromSeqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearFromSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        fromSeqNr_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.Resend)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.Resend)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Resend>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Resend>() {
      @java.lang.Override
      public Resend parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<Resend> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<Resend> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.Ack)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return Whether the confirmedSeqNr field is set.
     */
    boolean hasConfirmedSeqNr();
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return The confirmedSeqNr.
     */
    long getConfirmedSeqNr();
  }
  /**
   * <pre>
   * ProducerController
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Ack}
   */
  public static final class Ack extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.Ack)
      AckOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "Ack");
    }
    // Use Ack.newBuilder() to construct.
    private Ack(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Ack() {
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Ack_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.Builder.class);
    }

    private int bitField0_;
    public static final int CONFIRMEDSEQNR_FIELD_NUMBER = 1;
    private long confirmedSeqNr_ = 0L;
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return Whether the confirmedSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasConfirmedSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 confirmedSeqNr = 1;</code>
     * @return The confirmedSeqNr.
     */
    @java.lang.Override
    public long getConfirmedSeqNr() {
      return confirmedSeqNr_;
    }

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

      if (!hasConfirmedSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, confirmedSeqNr_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, confirmedSeqNr_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack) obj;

      if (hasConfirmedSeqNr() != other.hasConfirmedSeqNr()) return false;
      if (hasConfirmedSeqNr()) {
        if (getConfirmedSeqNr()
            != other.getConfirmedSeqNr()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasConfirmedSeqNr()) {
        hash = (37 * hash) + CONFIRMEDSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getConfirmedSeqNr());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Ack}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.Ack)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.AckOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Ack_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        confirmedSeqNr_ = 0L;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.confirmedSeqNr_ = confirmedSeqNr_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack.getDefaultInstance()) return this;
        if (other.hasConfirmedSeqNr()) {
          setConfirmedSeqNr(other.getConfirmedSeqNr());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                confirmedSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long confirmedSeqNr_ ;
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasConfirmedSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      @java.lang.Override
      public long getConfirmedSeqNr() {
        return confirmedSeqNr_;
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @param value The confirmedSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setConfirmedSeqNr(long value) {

        confirmedSeqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConfirmedSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        confirmedSeqNr_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.Ack)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.Ack)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Ack>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Ack>() {
      @java.lang.Override
      public Ack parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<Ack> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<Ack> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.State)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 currentSeqNr = 1;</code>
     * @return Whether the currentSeqNr field is set.
     */
    boolean hasCurrentSeqNr();
    /**
     * <code>required int64 currentSeqNr = 1;</code>
     * @return The currentSeqNr.
     */
    long getCurrentSeqNr();

    /**
     * <code>required int64 highestConfirmedSeqNr = 2;</code>
     * @return Whether the highestConfirmedSeqNr field is set.
     */
    boolean hasHighestConfirmedSeqNr();
    /**
     * <code>required int64 highestConfirmedSeqNr = 2;</code>
     * @return The highestConfirmedSeqNr.
     */
    long getHighestConfirmedSeqNr();

    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> 
        getConfirmedList();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index);
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    int getConfirmedCount();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
        getConfirmedOrBuilderList();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
        int index);

    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> 
        getUnconfirmedList();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index);
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    int getUnconfirmedCount();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
        getUnconfirmedOrBuilderList();
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
        int index);
  }
  /**
   * <pre>
   * DurableProducerQueue
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.State}
   */
  public static final class State extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.State)
      StateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "State");
    }
    // Use State.newBuilder() to construct.
    private State(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private State() {
      confirmed_ = java.util.Collections.emptyList();
      unconfirmed_ = java.util.Collections.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_State_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.Builder.class);
    }

    private int bitField0_;
    public static final int CURRENTSEQNR_FIELD_NUMBER = 1;
    private long currentSeqNr_ = 0L;
    /**
     * <code>required int64 currentSeqNr = 1;</code>
     * @return Whether the currentSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasCurrentSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 currentSeqNr = 1;</code>
     * @return The currentSeqNr.
     */
    @java.lang.Override
    public long getCurrentSeqNr() {
      return currentSeqNr_;
    }

    public static final int HIGHESTCONFIRMEDSEQNR_FIELD_NUMBER = 2;
    private long highestConfirmedSeqNr_ = 0L;
    /**
     * <code>required int64 highestConfirmedSeqNr = 2;</code>
     * @return Whether the highestConfirmedSeqNr field is set.
     */
    @java.lang.Override
    public boolean hasHighestConfirmedSeqNr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int64 highestConfirmedSeqNr = 2;</code>
     * @return The highestConfirmedSeqNr.
     */
    @java.lang.Override
    public long getHighestConfirmedSeqNr() {
      return highestConfirmedSeqNr_;
    }

    public static final int CONFIRMED_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> confirmed_;
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> getConfirmedList() {
      return confirmed_;
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
        getConfirmedOrBuilderList() {
      return confirmed_;
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    @java.lang.Override
    public int getConfirmedCount() {
      return confirmed_.size();
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index) {
      return confirmed_.get(index);
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
        int index) {
      return confirmed_.get(index);
    }

    public static final int UNCONFIRMED_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> unconfirmed_;
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> getUnconfirmedList() {
      return unconfirmed_;
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
        getUnconfirmedOrBuilderList() {
      return unconfirmed_;
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    @java.lang.Override
    public int getUnconfirmedCount() {
      return unconfirmed_.size();
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index) {
      return unconfirmed_.get(index);
    }
    /**
     * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
        int index) {
      return unconfirmed_.get(index);
    }

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

      if (!hasCurrentSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHighestConfirmedSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getConfirmedCount(); i++) {
        if (!getConfirmed(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getUnconfirmedCount(); i++) {
        if (!getUnconfirmed(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, currentSeqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, highestConfirmedSeqNr_);
      }
      for (int i = 0; i < confirmed_.size(); i++) {
        output.writeMessage(3, confirmed_.get(i));
      }
      for (int i = 0; i < unconfirmed_.size(); i++) {
        output.writeMessage(4, unconfirmed_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, currentSeqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(2, highestConfirmedSeqNr_);
      }
      for (int i = 0; i < confirmed_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, confirmed_.get(i));
      }
      for (int i = 0; i < unconfirmed_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(4, unconfirmed_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State) obj;

      if (hasCurrentSeqNr() != other.hasCurrentSeqNr()) return false;
      if (hasCurrentSeqNr()) {
        if (getCurrentSeqNr()
            != other.getCurrentSeqNr()) return false;
      }
      if (hasHighestConfirmedSeqNr() != other.hasHighestConfirmedSeqNr()) return false;
      if (hasHighestConfirmedSeqNr()) {
        if (getHighestConfirmedSeqNr()
            != other.getHighestConfirmedSeqNr()) return false;
      }
      if (!getConfirmedList()
          .equals(other.getConfirmedList())) return false;
      if (!getUnconfirmedList()
          .equals(other.getUnconfirmedList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasCurrentSeqNr()) {
        hash = (37 * hash) + CURRENTSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getCurrentSeqNr());
      }
      if (hasHighestConfirmedSeqNr()) {
        hash = (37 * hash) + HIGHESTCONFIRMEDSEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getHighestConfirmedSeqNr());
      }
      if (getConfirmedCount() > 0) {
        hash = (37 * hash) + CONFIRMED_FIELD_NUMBER;
        hash = (53 * hash) + getConfirmedList().hashCode();
      }
      if (getUnconfirmedCount() > 0) {
        hash = (37 * hash) + UNCONFIRMED_FIELD_NUMBER;
        hash = (53 * hash) + getUnconfirmedList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.State}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.State)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.StateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_State_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        currentSeqNr_ = 0L;
        highestConfirmedSeqNr_ = 0L;
        if (confirmedBuilder_ == null) {
          confirmed_ = java.util.Collections.emptyList();
        } else {
          confirmed_ = null;
          confirmedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (unconfirmedBuilder_ == null) {
          unconfirmed_ = java.util.Collections.emptyList();
        } else {
          unconfirmed_ = null;
          unconfirmedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State result) {
        if (confirmedBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            confirmed_ = java.util.Collections.unmodifiableList(confirmed_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.confirmed_ = confirmed_;
        } else {
          result.confirmed_ = confirmedBuilder_.build();
        }
        if (unconfirmedBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            unconfirmed_ = java.util.Collections.unmodifiableList(unconfirmed_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.unconfirmed_ = unconfirmed_;
        } else {
          result.unconfirmed_ = unconfirmedBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.currentSeqNr_ = currentSeqNr_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.highestConfirmedSeqNr_ = highestConfirmedSeqNr_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State.getDefaultInstance()) return this;
        if (other.hasCurrentSeqNr()) {
          setCurrentSeqNr(other.getCurrentSeqNr());
        }
        if (other.hasHighestConfirmedSeqNr()) {
          setHighestConfirmedSeqNr(other.getHighestConfirmedSeqNr());
        }
        if (confirmedBuilder_ == null) {
          if (!other.confirmed_.isEmpty()) {
            if (confirmed_.isEmpty()) {
              confirmed_ = other.confirmed_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureConfirmedIsMutable();
              confirmed_.addAll(other.confirmed_);
            }
            onChanged();
          }
        } else {
          if (!other.confirmed_.isEmpty()) {
            if (confirmedBuilder_.isEmpty()) {
              confirmedBuilder_.dispose();
              confirmedBuilder_ = null;
              confirmed_ = other.confirmed_;
              bitField0_ = (bitField0_ & ~0x00000004);
              confirmedBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetConfirmedFieldBuilder() : null;
            } else {
              confirmedBuilder_.addAllMessages(other.confirmed_);
            }
          }
        }
        if (unconfirmedBuilder_ == null) {
          if (!other.unconfirmed_.isEmpty()) {
            if (unconfirmed_.isEmpty()) {
              unconfirmed_ = other.unconfirmed_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureUnconfirmedIsMutable();
              unconfirmed_.addAll(other.unconfirmed_);
            }
            onChanged();
          }
        } else {
          if (!other.unconfirmed_.isEmpty()) {
            if (unconfirmedBuilder_.isEmpty()) {
              unconfirmedBuilder_.dispose();
              unconfirmedBuilder_ = null;
              unconfirmed_ = other.unconfirmed_;
              bitField0_ = (bitField0_ & ~0x00000008);
              unconfirmedBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetUnconfirmedFieldBuilder() : null;
            } else {
              unconfirmedBuilder_.addAllMessages(other.unconfirmed_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasCurrentSeqNr()) {
          return false;
        }
        if (!hasHighestConfirmedSeqNr()) {
          return false;
        }
        for (int i = 0; i < getConfirmedCount(); i++) {
          if (!getConfirmed(i).isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getUnconfirmedCount(); i++) {
          if (!getUnconfirmed(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                currentSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                highestConfirmedSeqNr_ = input.readInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed m =
                    input.readMessage(
                        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.parser(),
                        extensionRegistry);
                if (confirmedBuilder_ == null) {
                  ensureConfirmedIsMutable();
                  confirmed_.add(m);
                } else {
                  confirmedBuilder_.addMessage(m);
                }
                break;
              } // case 26
              case 34: {
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent m =
                    input.readMessage(
                        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.parser(),
                        extensionRegistry);
                if (unconfirmedBuilder_ == null) {
                  ensureUnconfirmedIsMutable();
                  unconfirmed_.add(m);
                } else {
                  unconfirmedBuilder_.addMessage(m);
                }
                break;
              } // case 34
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long currentSeqNr_ ;
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return Whether the currentSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasCurrentSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return The currentSeqNr.
       */
      @java.lang.Override
      public long getCurrentSeqNr() {
        return currentSeqNr_;
      }
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @param value The currentSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setCurrentSeqNr(long value) {

        currentSeqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCurrentSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        currentSeqNr_ = 0L;
        onChanged();
        return this;
      }

      private long highestConfirmedSeqNr_ ;
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return Whether the highestConfirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasHighestConfirmedSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return The highestConfirmedSeqNr.
       */
      @java.lang.Override
      public long getHighestConfirmedSeqNr() {
        return highestConfirmedSeqNr_;
      }
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @param value The highestConfirmedSeqNr to set.
       * @return This builder for chaining.
       */
      public Builder setHighestConfirmedSeqNr(long value) {

        highestConfirmedSeqNr_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearHighestConfirmedSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        highestConfirmedSeqNr_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> confirmed_ =
        java.util.Collections.emptyList();
      private void ensureConfirmedIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          confirmed_ = new java.util.ArrayList<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed>(confirmed_);
          bitField0_ |= 0x00000004;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> confirmedBuilder_;

      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> getConfirmedList() {
        if (confirmedBuilder_ == null) {
          return java.util.Collections.unmodifiableList(confirmed_);
        } else {
          return confirmedBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public int getConfirmedCount() {
        if (confirmedBuilder_ == null) {
          return confirmed_.size();
        } else {
          return confirmedBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index) {
        if (confirmedBuilder_ == null) {
          return confirmed_.get(index);
        } else {
          return confirmedBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder setConfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
        if (confirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConfirmedIsMutable();
          confirmed_.set(index, value);
          onChanged();
        } else {
          confirmedBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder setConfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
        if (confirmedBuilder_ == null) {
          ensureConfirmedIsMutable();
          confirmed_.set(index, builderForValue.build());
          onChanged();
        } else {
          confirmedBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder addConfirmed(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
        if (confirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConfirmedIsMutable();
          confirmed_.add(value);
          onChanged();
        } else {
          confirmedBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder addConfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
        if (confirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConfirmedIsMutable();
          confirmed_.add(index, value);
          onChanged();
        } else {
          confirmedBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder addConfirmed(
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
        if (confirmedBuilder_ == null) {
          ensureConfirmedIsMutable();
          confirmed_.add(builderForValue.build());
          onChanged();
        } else {
          confirmedBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder addConfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
        if (confirmedBuilder_ == null) {
          ensureConfirmedIsMutable();
          confirmed_.add(index, builderForValue.build());
          onChanged();
        } else {
          confirmedBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder addAllConfirmed(
          java.lang.Iterable<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> values) {
        if (confirmedBuilder_ == null) {
          ensureConfirmedIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, confirmed_);
          onChanged();
        } else {
          confirmedBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder clearConfirmed() {
        if (confirmedBuilder_ == null) {
          confirmed_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          confirmedBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public Builder removeConfirmed(int index) {
        if (confirmedBuilder_ == null) {
          ensureConfirmedIsMutable();
          confirmed_.remove(index);
          onChanged();
        } else {
          confirmedBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder getConfirmedBuilder(
          int index) {
        return internalGetConfirmedFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
          int index) {
        if (confirmedBuilder_ == null) {
          return confirmed_.get(index);  } else {
          return confirmedBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
           getConfirmedOrBuilderList() {
        if (confirmedBuilder_ != null) {
          return confirmedBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(confirmed_);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder addConfirmedBuilder() {
        return internalGetConfirmedFieldBuilder().addBuilder(
            org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance());
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder addConfirmedBuilder(
          int index) {
        return internalGetConfirmedFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance());
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder> 
           getConfirmedBuilderList() {
        return internalGetConfirmedFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
          internalGetConfirmedFieldBuilder() {
        if (confirmedBuilder_ == null) {
          confirmedBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder>(
                  confirmed_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          confirmed_ = null;
        }
        return confirmedBuilder_;
      }

      private java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> unconfirmed_ =
        java.util.Collections.emptyList();
      private void ensureUnconfirmedIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          unconfirmed_ = new java.util.ArrayList<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent>(unconfirmed_);
          bitField0_ |= 0x00000008;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> unconfirmedBuilder_;

      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> getUnconfirmedList() {
        if (unconfirmedBuilder_ == null) {
          return java.util.Collections.unmodifiableList(unconfirmed_);
        } else {
          return unconfirmedBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public int getUnconfirmedCount() {
        if (unconfirmedBuilder_ == null) {
          return unconfirmed_.size();
        } else {
          return unconfirmedBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index) {
        if (unconfirmedBuilder_ == null) {
          return unconfirmed_.get(index);
        } else {
          return unconfirmedBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder setUnconfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
        if (unconfirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnconfirmedIsMutable();
          unconfirmed_.set(index, value);
          onChanged();
        } else {
          unconfirmedBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder setUnconfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
        if (unconfirmedBuilder_ == null) {
          ensureUnconfirmedIsMutable();
          unconfirmed_.set(index, builderForValue.build());
          onChanged();
        } else {
          unconfirmedBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder addUnconfirmed(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
        if (unconfirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnconfirmedIsMutable();
          unconfirmed_.add(value);
          onChanged();
        } else {
          unconfirmedBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder addUnconfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
        if (unconfirmedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnconfirmedIsMutable();
          unconfirmed_.add(index, value);
          onChanged();
        } else {
          unconfirmedBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder addUnconfirmed(
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
        if (unconfirmedBuilder_ == null) {
          ensureUnconfirmedIsMutable();
          unconfirmed_.add(builderForValue.build());
          onChanged();
        } else {
          unconfirmedBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder addUnconfirmed(
          int index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
        if (unconfirmedBuilder_ == null) {
          ensureUnconfirmedIsMutable();
          unconfirmed_.add(index, builderForValue.build());
          onChanged();
        } else {
          unconfirmedBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder addAllUnconfirmed(
          java.lang.Iterable<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> values) {
        if (unconfirmedBuilder_ == null) {
          ensureUnconfirmedIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, unconfirmed_);
          onChanged();
        } else {
          unconfirmedBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder clearUnconfirmed() {
        if (unconfirmedBuilder_ == null) {
          unconfirmed_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          unconfirmedBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public Builder removeUnconfirmed(int index) {
        if (unconfirmedBuilder_ == null) {
          ensureUnconfirmedIsMutable();
          unconfirmed_.remove(index);
          onChanged();
        } else {
          unconfirmedBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder getUnconfirmedBuilder(
          int index) {
        return internalGetUnconfirmedFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
          int index) {
        if (unconfirmedBuilder_ == null) {
          return unconfirmed_.get(index);  } else {
          return unconfirmedBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
           getUnconfirmedOrBuilderList() {
        if (unconfirmedBuilder_ != null) {
          return unconfirmedBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(unconfirmed_);
        }
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder addUnconfirmedBuilder() {
        return internalGetUnconfirmedFieldBuilder().addBuilder(
            org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance());
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder addUnconfirmedBuilder(
          int index) {
        return internalGetUnconfirmedFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance());
      }
      /**
       * <code>repeated .org.apache.pekko.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      public java.util.List<org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder> 
           getUnconfirmedBuilderList() {
        return internalGetUnconfirmedFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
          internalGetUnconfirmedFieldBuilder() {
        if (unconfirmedBuilder_ == null) {
          unconfirmedBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder>(
                  unconfirmed_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          unconfirmed_ = null;
        }
        return unconfirmedBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.State)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.State)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<State>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<State>() {
      @java.lang.Override
      public State parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<State> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<State> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ConfirmedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.Confirmed)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 seqNr = 1;</code>
     * @return Whether the seqNr field is set.
     */
    boolean hasSeqNr();
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return The seqNr.
     */
    long getSeqNr();

    /**
     * <code>required string qualifier = 2;</code>
     * @return Whether the qualifier field is set.
     */
    boolean hasQualifier();
    /**
     * <code>required string qualifier = 2;</code>
     * @return The qualifier.
     */
    java.lang.String getQualifier();
    /**
     * <code>required string qualifier = 2;</code>
     * @return The bytes for qualifier.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getQualifierBytes();

    /**
     * <code>required int64 timestamp = 3;</code>
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <code>required int64 timestamp = 3;</code>
     * @return The timestamp.
     */
    long getTimestamp();
  }
  /**
   * <pre>
   * DurableProducerQueue
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Confirmed}
   */
  public static final class Confirmed extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.Confirmed)
      ConfirmedOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "Confirmed");
    }
    // Use Confirmed.newBuilder() to construct.
    private Confirmed(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Confirmed() {
      qualifier_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder.class);
    }

    private int bitField0_;
    public static final int SEQNR_FIELD_NUMBER = 1;
    private long seqNr_ = 0L;
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return Whether the seqNr field is set.
     */
    @java.lang.Override
    public boolean hasSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return The seqNr.
     */
    @java.lang.Override
    public long getSeqNr() {
      return seqNr_;
    }

    public static final int QUALIFIER_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object qualifier_ = "";
    /**
     * <code>required string qualifier = 2;</code>
     * @return Whether the qualifier field is set.
     */
    @java.lang.Override
    public boolean hasQualifier() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string qualifier = 2;</code>
     * @return The qualifier.
     */
    @java.lang.Override
    public java.lang.String getQualifier() {
      java.lang.Object ref = qualifier_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        org.apache.pekko.protobufv3.internal.ByteString bs = 
            (org.apache.pekko.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          qualifier_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string qualifier = 2;</code>
     * @return The bytes for qualifier.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getQualifierBytes() {
      java.lang.Object ref = qualifier_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        qualifier_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 3;
    private long timestamp_ = 0L;
    /**
     * <code>required int64 timestamp = 3;</code>
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required int64 timestamp = 3;</code>
     * @return The timestamp.
     */
    @java.lang.Override
    public long getTimestamp() {
      return timestamp_;
    }

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

      if (!hasSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasQualifier()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTimestamp()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, seqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, qualifier_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt64(3, timestamp_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, seqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, qualifier_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(3, timestamp_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed) obj;

      if (hasSeqNr() != other.hasSeqNr()) return false;
      if (hasSeqNr()) {
        if (getSeqNr()
            != other.getSeqNr()) return false;
      }
      if (hasQualifier() != other.hasQualifier()) return false;
      if (hasQualifier()) {
        if (!getQualifier()
            .equals(other.getQualifier())) return false;
      }
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSeqNr()) {
        hash = (37 * hash) + SEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getSeqNr());
      }
      if (hasQualifier()) {
        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getQualifier().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getTimestamp());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Confirmed}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.Confirmed)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        seqNr_ = 0L;
        qualifier_ = "";
        timestamp_ = 0L;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.seqNr_ = seqNr_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.qualifier_ = qualifier_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance()) return this;
        if (other.hasSeqNr()) {
          setSeqNr(other.getSeqNr());
        }
        if (other.hasQualifier()) {
          qualifier_ = other.qualifier_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasSeqNr()) {
          return false;
        }
        if (!hasQualifier()) {
          return false;
        }
        if (!hasTimestamp()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                seqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                qualifier_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                timestamp_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long seqNr_ ;
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @param value The seqNr to set.
       * @return This builder for chaining.
       */
      public Builder setSeqNr(long value) {

        seqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        seqNr_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object qualifier_ = "";
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      public java.lang.String getQualifier() {
        java.lang.Object ref = qualifier_;
        if (!(ref instanceof java.lang.String)) {
          org.apache.pekko.protobufv3.internal.ByteString bs =
              (org.apache.pekko.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            qualifier_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getQualifierBytes() {
        java.lang.Object ref = qualifier_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          qualifier_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @param value The qualifier to set.
       * @return This builder for chaining.
       */
      public Builder setQualifier(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        qualifier_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearQualifier() {
        qualifier_ = getDefaultInstance().getQualifier();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @param value The bytes for qualifier to set.
       * @return This builder for chaining.
       */
      public Builder setQualifierBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        qualifier_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>required int64 timestamp = 3;</code>
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {

        timestamp_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.Confirmed)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.Confirmed)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Confirmed>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Confirmed>() {
      @java.lang.Override
      public Confirmed parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<Confirmed> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<Confirmed> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MessageSentOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.MessageSent)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 seqNr = 1;</code>
     * @return Whether the seqNr field is set.
     */
    boolean hasSeqNr();
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return The seqNr.
     */
    long getSeqNr();

    /**
     * <code>required string qualifier = 2;</code>
     * @return Whether the qualifier field is set.
     */
    boolean hasQualifier();
    /**
     * <code>required string qualifier = 2;</code>
     * @return The qualifier.
     */
    java.lang.String getQualifier();
    /**
     * <code>required string qualifier = 2;</code>
     * @return The bytes for qualifier.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getQualifierBytes();

    /**
     * <code>required bool ack = 3;</code>
     * @return Whether the ack field is set.
     */
    boolean hasAck();
    /**
     * <code>required bool ack = 3;</code>
     * @return The ack.
     */
    boolean getAck();

    /**
     * <code>required int64 timestamp = 4;</code>
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <code>required int64 timestamp = 4;</code>
     * @return The timestamp.
     */
    long getTimestamp();

    /**
     * <code>required .Payload message = 5;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>required .Payload message = 5;</code>
     * @return The message.
     */
    org.apache.pekko.remote.ContainerFormats.Payload getMessage();
    /**
     * <code>required .Payload message = 5;</code>
     */
    org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder();

    /**
     * <code>optional bool firstChunk = 6;</code>
     * @return Whether the firstChunk field is set.
     */
    boolean hasFirstChunk();
    /**
     * <code>optional bool firstChunk = 6;</code>
     * @return The firstChunk.
     */
    boolean getFirstChunk();

    /**
     * <code>optional bool lastChunk = 7;</code>
     * @return Whether the lastChunk field is set.
     */
    boolean hasLastChunk();
    /**
     * <code>optional bool lastChunk = 7;</code>
     * @return The lastChunk.
     */
    boolean getLastChunk();
  }
  /**
   * <pre>
   * DurableProducerQueue
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.MessageSent}
   */
  public static final class MessageSent extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.MessageSent)
      MessageSentOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "MessageSent");
    }
    // Use MessageSent.newBuilder() to construct.
    private MessageSent(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private MessageSent() {
      qualifier_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder.class);
    }

    private int bitField0_;
    public static final int SEQNR_FIELD_NUMBER = 1;
    private long seqNr_ = 0L;
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return Whether the seqNr field is set.
     */
    @java.lang.Override
    public boolean hasSeqNr() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 seqNr = 1;</code>
     * @return The seqNr.
     */
    @java.lang.Override
    public long getSeqNr() {
      return seqNr_;
    }

    public static final int QUALIFIER_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object qualifier_ = "";
    /**
     * <code>required string qualifier = 2;</code>
     * @return Whether the qualifier field is set.
     */
    @java.lang.Override
    public boolean hasQualifier() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string qualifier = 2;</code>
     * @return The qualifier.
     */
    @java.lang.Override
    public java.lang.String getQualifier() {
      java.lang.Object ref = qualifier_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        org.apache.pekko.protobufv3.internal.ByteString bs = 
            (org.apache.pekko.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          qualifier_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string qualifier = 2;</code>
     * @return The bytes for qualifier.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getQualifierBytes() {
      java.lang.Object ref = qualifier_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        qualifier_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ACK_FIELD_NUMBER = 3;
    private boolean ack_ = false;
    /**
     * <code>required bool ack = 3;</code>
     * @return Whether the ack field is set.
     */
    @java.lang.Override
    public boolean hasAck() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required bool ack = 3;</code>
     * @return The ack.
     */
    @java.lang.Override
    public boolean getAck() {
      return ack_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private long timestamp_ = 0L;
    /**
     * <code>required int64 timestamp = 4;</code>
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required int64 timestamp = 4;</code>
     * @return The timestamp.
     */
    @java.lang.Override
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int MESSAGE_FIELD_NUMBER = 5;
    private org.apache.pekko.remote.ContainerFormats.Payload message_;
    /**
     * <code>required .Payload message = 5;</code>
     * @return Whether the message field is set.
     */
    @java.lang.Override
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>required .Payload message = 5;</code>
     * @return The message.
     */
    @java.lang.Override
    public org.apache.pekko.remote.ContainerFormats.Payload getMessage() {
      return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
    }
    /**
     * <code>required .Payload message = 5;</code>
     */
    @java.lang.Override
    public org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
      return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
    }

    public static final int FIRSTCHUNK_FIELD_NUMBER = 6;
    private boolean firstChunk_ = false;
    /**
     * <code>optional bool firstChunk = 6;</code>
     * @return Whether the firstChunk field is set.
     */
    @java.lang.Override
    public boolean hasFirstChunk() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional bool firstChunk = 6;</code>
     * @return The firstChunk.
     */
    @java.lang.Override
    public boolean getFirstChunk() {
      return firstChunk_;
    }

    public static final int LASTCHUNK_FIELD_NUMBER = 7;
    private boolean lastChunk_ = false;
    /**
     * <code>optional bool lastChunk = 7;</code>
     * @return Whether the lastChunk field is set.
     */
    @java.lang.Override
    public boolean hasLastChunk() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional bool lastChunk = 7;</code>
     * @return The lastChunk.
     */
    @java.lang.Override
    public boolean getLastChunk() {
      return lastChunk_;
    }

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

      if (!hasSeqNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasQualifier()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAck()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTimestamp()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getMessage().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, seqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, qualifier_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(3, ack_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt64(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getMessage());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeBool(6, firstChunk_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeBool(7, lastChunk_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(1, seqNr_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, qualifier_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(3, ack_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt64Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(5, getMessage());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(6, firstChunk_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(7, lastChunk_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent) obj;

      if (hasSeqNr() != other.hasSeqNr()) return false;
      if (hasSeqNr()) {
        if (getSeqNr()
            != other.getSeqNr()) return false;
      }
      if (hasQualifier() != other.hasQualifier()) return false;
      if (hasQualifier()) {
        if (!getQualifier()
            .equals(other.getQualifier())) return false;
      }
      if (hasAck() != other.hasAck()) return false;
      if (hasAck()) {
        if (getAck()
            != other.getAck()) return false;
      }
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasFirstChunk() != other.hasFirstChunk()) return false;
      if (hasFirstChunk()) {
        if (getFirstChunk()
            != other.getFirstChunk()) return false;
      }
      if (hasLastChunk() != other.hasLastChunk()) return false;
      if (hasLastChunk()) {
        if (getLastChunk()
            != other.getLastChunk()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSeqNr()) {
        hash = (37 * hash) + SEQNR_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getSeqNr());
      }
      if (hasQualifier()) {
        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getQualifier().hashCode();
      }
      if (hasAck()) {
        hash = (37 * hash) + ACK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getAck());
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getTimestamp());
      }
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasFirstChunk()) {
        hash = (37 * hash) + FIRSTCHUNK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getFirstChunk());
      }
      if (hasLastChunk()) {
        hash = (37 * hash) + LASTCHUNK_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getLastChunk());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.MessageSent}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.MessageSent)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (org.apache.pekko.protobufv3.internal.GeneratedMessage
                .alwaysUseFieldBuilders) {
          internalGetMessageFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        seqNr_ = 0L;
        qualifier_ = "";
        ack_ = false;
        timestamp_ = 0L;
        message_ = null;
        if (messageBuilder_ != null) {
          messageBuilder_.dispose();
          messageBuilder_ = null;
        }
        firstChunk_ = false;
        lastChunk_ = false;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.seqNr_ = seqNr_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.qualifier_ = qualifier_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.ack_ = ack_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.message_ = messageBuilder_ == null
              ? message_
              : messageBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.firstChunk_ = firstChunk_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.lastChunk_ = lastChunk_;
          to_bitField0_ |= 0x00000040;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance()) return this;
        if (other.hasSeqNr()) {
          setSeqNr(other.getSeqNr());
        }
        if (other.hasQualifier()) {
          qualifier_ = other.qualifier_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasAck()) {
          setAck(other.getAck());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasMessage()) {
          mergeMessage(other.getMessage());
        }
        if (other.hasFirstChunk()) {
          setFirstChunk(other.getFirstChunk());
        }
        if (other.hasLastChunk()) {
          setLastChunk(other.getLastChunk());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasSeqNr()) {
          return false;
        }
        if (!hasQualifier()) {
          return false;
        }
        if (!hasAck()) {
          return false;
        }
        if (!hasTimestamp()) {
          return false;
        }
        if (!hasMessage()) {
          return false;
        }
        if (!getMessage().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                seqNr_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                qualifier_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                ack_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                timestamp_ = input.readInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 42: {
                input.readMessage(
                    internalGetMessageFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 48: {
                firstChunk_ = input.readBool();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              case 56: {
                lastChunk_ = input.readBool();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private long seqNr_ ;
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @param value The seqNr to set.
       * @return This builder for chaining.
       */
      public Builder setSeqNr(long value) {

        seqNr_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSeqNr() {
        bitField0_ = (bitField0_ & ~0x00000001);
        seqNr_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object qualifier_ = "";
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      public java.lang.String getQualifier() {
        java.lang.Object ref = qualifier_;
        if (!(ref instanceof java.lang.String)) {
          org.apache.pekko.protobufv3.internal.ByteString bs =
              (org.apache.pekko.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            qualifier_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getQualifierBytes() {
        java.lang.Object ref = qualifier_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          qualifier_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @param value The qualifier to set.
       * @return This builder for chaining.
       */
      public Builder setQualifier(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        qualifier_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearQualifier() {
        qualifier_ = getDefaultInstance().getQualifier();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @param value The bytes for qualifier to set.
       * @return This builder for chaining.
       */
      public Builder setQualifierBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        qualifier_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private boolean ack_ ;
      /**
       * <code>required bool ack = 3;</code>
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool ack = 3;</code>
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
      /**
       * <code>required bool ack = 3;</code>
       * @param value The ack to set.
       * @return This builder for chaining.
       */
      public Builder setAck(boolean value) {

        ack_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required bool ack = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearAck() {
        bitField0_ = (bitField0_ & ~0x00000004);
        ack_ = false;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>required int64 timestamp = 4;</code>
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {

        timestamp_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private org.apache.pekko.remote.ContainerFormats.Payload message_;
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder> messageBuilder_;
      /**
       * <code>required .Payload message = 5;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required .Payload message = 5;</code>
       * @return The message.
       */
      public org.apache.pekko.remote.ContainerFormats.Payload getMessage() {
        if (messageBuilder_ == null) {
          return message_ == null ? org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
        } else {
          return messageBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public Builder setMessage(org.apache.pekko.remote.ContainerFormats.Payload value) {
        if (messageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          message_ = value;
        } else {
          messageBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public Builder setMessage(
          org.apache.pekko.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (messageBuilder_ == null) {
          message_ = builderForValue.build();
        } else {
          messageBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public Builder mergeMessage(org.apache.pekko.remote.ContainerFormats.Payload value) {
        if (messageBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            message_ != null &&
            message_ != org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance()) {
            getMessageBuilder().mergeFrom(value);
          } else {
            message_ = value;
          }
        } else {
          messageBuilder_.mergeFrom(value);
        }
        if (message_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000010);
        message_ = null;
        if (messageBuilder_ != null) {
          messageBuilder_.dispose();
          messageBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public org.apache.pekko.remote.ContainerFormats.Payload.Builder getMessageBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return internalGetMessageFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      public org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
        if (messageBuilder_ != null) {
          return messageBuilder_.getMessageOrBuilder();
        } else {
          return message_ == null ?
              org.apache.pekko.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
        }
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder> 
          internalGetMessageFieldBuilder() {
        if (messageBuilder_ == null) {
          messageBuilder_ = new org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
              org.apache.pekko.remote.ContainerFormats.Payload, org.apache.pekko.remote.ContainerFormats.Payload.Builder, org.apache.pekko.remote.ContainerFormats.PayloadOrBuilder>(
                  getMessage(),
                  getParentForChildren(),
                  isClean());
          message_ = null;
        }
        return messageBuilder_;
      }

      private boolean firstChunk_ ;
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return Whether the firstChunk field is set.
       */
      @java.lang.Override
      public boolean hasFirstChunk() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return The firstChunk.
       */
      @java.lang.Override
      public boolean getFirstChunk() {
        return firstChunk_;
      }
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @param value The firstChunk to set.
       * @return This builder for chaining.
       */
      public Builder setFirstChunk(boolean value) {

        firstChunk_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstChunk() {
        bitField0_ = (bitField0_ & ~0x00000020);
        firstChunk_ = false;
        onChanged();
        return this;
      }

      private boolean lastChunk_ ;
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return Whether the lastChunk field is set.
       */
      @java.lang.Override
      public boolean hasLastChunk() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return The lastChunk.
       */
      @java.lang.Override
      public boolean getLastChunk() {
        return lastChunk_;
      }
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @param value The lastChunk to set.
       * @return This builder for chaining.
       */
      public Builder setLastChunk(boolean value) {

        lastChunk_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearLastChunk() {
        bitField0_ = (bitField0_ & ~0x00000040);
        lastChunk_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.MessageSent)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.MessageSent)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<MessageSent>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<MessageSent>() {
      @java.lang.Override
      public MessageSent parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<MessageSent> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<MessageSent> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CleanupOrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.apache.pekko.cluster.typed.delivery.Cleanup)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string qualifiers = 1;</code>
     * @return A list containing the qualifiers.
     */
    java.util.List<java.lang.String>
        getQualifiersList();
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @return The count of qualifiers.
     */
    int getQualifiersCount();
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @param index The index of the element to return.
     * @return The qualifiers at the given index.
     */
    java.lang.String getQualifiers(int index);
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the qualifiers at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getQualifiersBytes(int index);
  }
  /**
   * <pre>
   * DurableProducerQueue
   * </pre>
   *
   * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Cleanup}
   */
  public static final class Cleanup extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:org.apache.pekko.cluster.typed.delivery.Cleanup)
      CleanupOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
        org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 0,
        /* suffix= */ "",
        "Cleanup");
    }
    // Use Cleanup.newBuilder() to construct.
    private Cleanup(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Cleanup() {
      qualifiers_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.Builder.class);
    }

    public static final int QUALIFIERS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList qualifiers_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @return A list containing the qualifiers.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getQualifiersList() {
      return qualifiers_;
    }
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @return The count of qualifiers.
     */
    public int getQualifiersCount() {
      return qualifiers_.size();
    }
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @param index The index of the element to return.
     * @return The qualifiers at the given index.
     */
    public java.lang.String getQualifiers(int index) {
      return qualifiers_.get(index);
    }
    /**
     * <code>repeated string qualifiers = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the qualifiers at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getQualifiersBytes(int index) {
      return qualifiers_.getByteString(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(org.apache.pekko.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < qualifiers_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, qualifiers_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < qualifiers_.size(); i++) {
          dataSize += computeStringSizeNoTag(qualifiers_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getQualifiersList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup other = (org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup) obj;

      if (!getQualifiersList()
          .equals(other.getQualifiersList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getQualifiersCount() > 0) {
        hash = (37 * hash) + QUALIFIERS_FIELD_NUMBER;
        hash = (53 * hash) + getQualifiersList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        java.nio.ByteBuffer data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        org.apache.pekko.protobufv3.internal.ByteString data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        byte[] data,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseDelimitedFrom(
        java.io.InputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
        org.apache.pekko.protobufv3.internal.CodedInputStream input,
        org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return org.apache.pekko.protobufv3.internal.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code org.apache.pekko.cluster.typed.delivery.Cleanup}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.apache.pekko.cluster.typed.delivery.Cleanup)
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.CleanupOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.class, org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.newBuilder()
      private Builder() {

      }

      private Builder(
          org.apache.pekko.protobufv3.internal.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        qualifiers_ =
            org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstanceForType() {
        return org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup build() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup buildPartial() {
        org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          qualifiers_.makeImmutable();
          result.qualifiers_ = qualifiers_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(org.apache.pekko.protobufv3.internal.Message other) {
        if (other instanceof org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup) {
          return mergeFrom((org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup other) {
        if (other == org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.getDefaultInstance()) return this;
        if (!other.qualifiers_.isEmpty()) {
          if (qualifiers_.isEmpty()) {
            qualifiers_ = other.qualifiers_;
            bitField0_ |= 0x00000001;
          } else {
            ensureQualifiersIsMutable();
            qualifiers_.addAll(other.qualifiers_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureQualifiersIsMutable();
                qualifiers_.add(bs);
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList qualifiers_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureQualifiersIsMutable() {
        if (!qualifiers_.isModifiable()) {
          qualifiers_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(qualifiers_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return A list containing the qualifiers.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getQualifiersList() {
        qualifiers_.makeImmutable();
        return qualifiers_;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return The count of qualifiers.
       */
      public int getQualifiersCount() {
        return qualifiers_.size();
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the element to return.
       * @return The qualifiers at the given index.
       */
      public java.lang.String getQualifiers(int index) {
        return qualifiers_.get(index);
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the qualifiers at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getQualifiersBytes(int index) {
        return qualifiers_.getByteString(index);
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index to set the value at.
       * @param value The qualifiers to set.
       * @return This builder for chaining.
       */
      public Builder setQualifiers(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureQualifiersIsMutable();
        qualifiers_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param value The qualifiers to add.
       * @return This builder for chaining.
       */
      public Builder addQualifiers(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureQualifiersIsMutable();
        qualifiers_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param values The qualifiers to add.
       * @return This builder for chaining.
       */
      public Builder addAllQualifiers(
          java.lang.Iterable<java.lang.String> values) {
        ensureQualifiersIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, qualifiers_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearQualifiers() {
        qualifiers_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param value The bytes of the qualifiers to add.
       * @return This builder for chaining.
       */
      public Builder addQualifiersBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureQualifiersIsMutable();
        qualifiers_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.apache.pekko.cluster.typed.delivery.Cleanup)
    }

    // @@protoc_insertion_point(class_scope:org.apache.pekko.cluster.typed.delivery.Cleanup)
    private static final org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup();
    }

    public static org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Cleanup>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Cleanup>() {
      @java.lang.Override
      public Cleanup parsePartialFrom(
          org.apache.pekko.protobufv3.internal.CodedInputStream input,
          org.apache.pekko.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (org.apache.pekko.protobufv3.internal.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static org.apache.pekko.protobufv3.internal.Parser<Cleanup> parser() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.Parser<Cleanup> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.pekko.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_Request_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_Resend_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_Ack_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_State_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_fieldAccessorTable;

  public static org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\026ReliableDelivery.proto\022\'org.apache.pek" +
      "ko.cluster.typed.delivery\032\026ContainerForm" +
      "ats.proto\"\262\001\n\020SequencedMessage\022\022\n\nproduc" +
      "erId\030\001 \002(\t\022\r\n\005seqNr\030\002 \002(\003\022\r\n\005first\030\003 \002(\010" +
      "\022\013\n\003ack\030\004 \002(\010\022\035\n\025producerControllerRef\030\005" +
      " \002(\t\022\031\n\007message\030\006 \002(\0132\010.Payload\022\022\n\nfirst" +
      "Chunk\030\007 \001(\010\022\021\n\tlastChunk\030\010 \001(\010\"1\n\020Regist" +
      "erConsumer\022\035\n\025consumerControllerRef\030\001 \002(" +
      "\t\"f\n\007Request\022\026\n\016confirmedSeqNr\030\001 \002(\003\022\030\n\020" +
      "requestUpToSeqNr\030\002 \002(\003\022\025\n\rsupportResend\030" +
      "\003 \002(\010\022\022\n\nviaTimeout\030\004 \002(\010\"\033\n\006Resend\022\021\n\tf" +
      "romSeqNr\030\001 \002(\003\"\035\n\003Ack\022\026\n\016confirmedSeqNr\030" +
      "\001 \002(\003\"\316\001\n\005State\022\024\n\014currentSeqNr\030\001 \002(\003\022\035\n" +
      "\025highestConfirmedSeqNr\030\002 \002(\003\022E\n\tconfirme" +
      "d\030\003 \003(\01322.org.apache.pekko.cluster.typed" +
      ".delivery.Confirmed\022I\n\013unconfirmed\030\004 \003(\013" +
      "24.org.apache.pekko.cluster.typed.delive" +
      "ry.MessageSent\"@\n\tConfirmed\022\r\n\005seqNr\030\001 \002" +
      "(\003\022\021\n\tqualifier\030\002 \002(\t\022\021\n\ttimestamp\030\003 \002(\003" +
      "\"\221\001\n\013MessageSent\022\r\n\005seqNr\030\001 \002(\003\022\021\n\tquali" +
      "fier\030\002 \002(\t\022\013\n\003ack\030\003 \002(\010\022\021\n\ttimestamp\030\004 \002" +
      "(\003\022\031\n\007message\030\005 \002(\0132\010.Payload\022\022\n\nfirstCh" +
      "unk\030\006 \001(\010\022\021\n\tlastChunk\030\007 \001(\010\"\035\n\007Cleanup\022" +
      "\022\n\nqualifiers\030\001 \003(\tB4\n0org.apache.pekko." +
      "cluster.typed.internal.protobufH\001"
    };
    descriptor = org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor[] {
          org.apache.pekko.remote.ContainerFormats.getDescriptor(),
        });
    internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor =
      getDescriptor().getMessageType(0);
    internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_SequencedMessage_descriptor,
        new java.lang.String[] { "ProducerId", "SeqNr", "First", "Ack", "ProducerControllerRef", "Message", "FirstChunk", "LastChunk", });
    internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor =
      getDescriptor().getMessageType(1);
    internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_RegisterConsumer_descriptor,
        new java.lang.String[] { "ConsumerControllerRef", });
    internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor =
      getDescriptor().getMessageType(2);
    internal_static_org_apache_pekko_cluster_typed_delivery_Request_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_Request_descriptor,
        new java.lang.String[] { "ConfirmedSeqNr", "RequestUpToSeqNr", "SupportResend", "ViaTimeout", });
    internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor =
      getDescriptor().getMessageType(3);
    internal_static_org_apache_pekko_cluster_typed_delivery_Resend_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_Resend_descriptor,
        new java.lang.String[] { "FromSeqNr", });
    internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor =
      getDescriptor().getMessageType(4);
    internal_static_org_apache_pekko_cluster_typed_delivery_Ack_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_Ack_descriptor,
        new java.lang.String[] { "ConfirmedSeqNr", });
    internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor =
      getDescriptor().getMessageType(5);
    internal_static_org_apache_pekko_cluster_typed_delivery_State_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_State_descriptor,
        new java.lang.String[] { "CurrentSeqNr", "HighestConfirmedSeqNr", "Confirmed", "Unconfirmed", });
    internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor =
      getDescriptor().getMessageType(6);
    internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_Confirmed_descriptor,
        new java.lang.String[] { "SeqNr", "Qualifier", "Timestamp", });
    internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor =
      getDescriptor().getMessageType(7);
    internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_MessageSent_descriptor,
        new java.lang.String[] { "SeqNr", "Qualifier", "Ack", "Timestamp", "Message", "FirstChunk", "LastChunk", });
    internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor =
      getDescriptor().getMessageType(8);
    internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_org_apache_pekko_cluster_typed_delivery_Cleanup_descriptor,
        new java.lang.String[] { "Qualifiers", });
    descriptor.resolveAllFeaturesImmutable();
    org.apache.pekko.remote.ContainerFormats.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
