/*
 * 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: ClusterShardingMessages.proto
// Protobuf Java Version: 4.33.0

package org.apache.pekko.cluster.sharding.protobuf.msg;

@org.apache.pekko.protobufv3.internal.Generated
public final class ClusterShardingMessages extends org.apache.pekko.protobufv3.internal.GeneratedFile {
  private ClusterShardingMessages() {}
  static {
    org.apache.pekko.protobufv3.internal.RuntimeVersion.validateProtobufGencodeVersion(
      org.apache.pekko.protobufv3.internal.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 33,
      /* patch= */ 0,
      /* suffix= */ "",
      "ClusterShardingMessages");
  }
  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 CoordinatorStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CoordinatorState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> 
        getShardsList();
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index);
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    int getShardsCount();
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> 
        getShardsOrBuilderList();
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder(
        int index);

    /**
     * <code>repeated string regions = 2;</code>
     * @return A list containing the regions.
     */
    java.util.List<java.lang.String>
        getRegionsList();
    /**
     * <code>repeated string regions = 2;</code>
     * @return The count of regions.
     */
    int getRegionsCount();
    /**
     * <code>repeated string regions = 2;</code>
     * @param index The index of the element to return.
     * @return The regions at the given index.
     */
    java.lang.String getRegions(int index);
    /**
     * <code>repeated string regions = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the regions at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getRegionsBytes(int index);

    /**
     * <code>repeated string regionProxies = 3;</code>
     * @return A list containing the regionProxies.
     */
    java.util.List<java.lang.String>
        getRegionProxiesList();
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @return The count of regionProxies.
     */
    int getRegionProxiesCount();
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @param index The index of the element to return.
     * @return The regionProxies at the given index.
     */
    java.lang.String getRegionProxies(int index);
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the regionProxies at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getRegionProxiesBytes(int index);

    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @return A list containing the unallocatedShards.
     */
    java.util.List<java.lang.String>
        getUnallocatedShardsList();
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @return The count of unallocatedShards.
     */
    int getUnallocatedShardsCount();
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @param index The index of the element to return.
     * @return The unallocatedShards at the given index.
     */
    java.lang.String getUnallocatedShards(int index);
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the unallocatedShards at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getUnallocatedShardsBytes(int index);
  }
  /**
   * Protobuf type {@code CoordinatorState}
   */
  public static final class CoordinatorState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CoordinatorState)
      CoordinatorStateOrBuilder {
  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= */ "",
        "CoordinatorState");
    }
    // Use CoordinatorState.newBuilder() to construct.
    private CoordinatorState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CoordinatorState() {
      shards_ = java.util.Collections.emptyList();
      regions_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      regionProxies_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      unallocatedShards_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.Builder.class);
    }

    public interface ShardEntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CoordinatorState.ShardEntry)
        org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

      /**
       * <code>required string regionRef = 2;</code>
       * @return Whether the regionRef field is set.
       */
      boolean hasRegionRef();
      /**
       * <code>required string regionRef = 2;</code>
       * @return The regionRef.
       */
      java.lang.String getRegionRef();
      /**
       * <code>required string regionRef = 2;</code>
       * @return The bytes for regionRef.
       */
      org.apache.pekko.protobufv3.internal.ByteString
          getRegionRefBytes();
    }
    /**
     * Protobuf type {@code CoordinatorState.ShardEntry}
     */
    public static final class ShardEntry extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CoordinatorState.ShardEntry)
        ShardEntryOrBuilder {
    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= */ "",
          "ShardEntry");
      }
      // Use ShardEntry.newBuilder() to construct.
      private ShardEntry(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
        super(builder);
      }
      private ShardEntry() {
        shardId_ = "";
        regionRef_ = "";
      }

      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder.class);
      }

      private int bitField0_;
      public static final int SHARDID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object shardId_ = "";
      /**
       * <code>required string shardId = 1;</code>
       * @return Whether the shardId field is set.
       */
      @java.lang.Override
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The shardId.
       */
      @java.lang.Override
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        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()) {
            shardId_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The bytes for shardId.
       */
      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof java.lang.String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int REGIONREF_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object regionRef_ = "";
      /**
       * <code>required string regionRef = 2;</code>
       * @return Whether the regionRef field is set.
       */
      @java.lang.Override
      public boolean hasRegionRef() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string regionRef = 2;</code>
       * @return The regionRef.
       */
      @java.lang.Override
      public java.lang.String getRegionRef() {
        java.lang.Object ref = regionRef_;
        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()) {
            regionRef_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string regionRef = 2;</code>
       * @return The bytes for regionRef.
       */
      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionRefBytes() {
        java.lang.Object ref = regionRef_;
        if (ref instanceof java.lang.String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          regionRef_ = 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 (!hasShardId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasRegionRef()) {
          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, shardId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, regionRef_);
        }
        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, shardId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, regionRef_);
        }
        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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry)) {
          return super.equals(obj);
        }
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry) obj;

        if (hasShardId() != other.hasShardId()) return false;
        if (hasShardId()) {
          if (!getShardId()
              .equals(other.getShardId())) return false;
        }
        if (hasRegionRef() != other.hasRegionRef()) return false;
        if (hasRegionRef()) {
          if (!getRegionRef()
              .equals(other.getRegionRef())) 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 (hasShardId()) {
          hash = (37 * hash) + SHARDID_FIELD_NUMBER;
          hash = (53 * hash) + getShardId().hashCode();
        }
        if (hasRegionRef()) {
          hash = (37 * hash) + REGIONREF_FIELD_NUMBER;
          hash = (53 * hash) + getRegionRef().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom(
          java.nio.ByteBuffer data)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry parseFrom(byte[] data)
          throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry 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;
      }
      /**
       * Protobuf type {@code CoordinatorState.ShardEntry}
       */
      public static final class Builder extends
          org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:CoordinatorState.ShardEntry)
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder {
        public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor;
        }

        @java.lang.Override
        protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder.class);
        }

        // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.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;
          shardId_ = "";
          regionRef_ = "";
          return this;
        }

        @java.lang.Override
        public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_ShardEntry_descriptor;
        }

        @java.lang.Override
        public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getDefaultInstanceForType() {
          return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance();
        }

        @java.lang.Override
        public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry build() {
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry buildPartial() {
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.shardId_ = shardId_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.regionRef_ = regionRef_;
            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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry) {
            return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry other) {
          if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance()) return this;
          if (other.hasShardId()) {
            shardId_ = other.shardId_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasRegionRef()) {
            regionRef_ = other.regionRef_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasShardId()) {
            return false;
          }
          if (!hasRegionRef()) {
            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: {
                  shardId_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  regionRef_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                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 shardId_ = "";
        /**
         * <code>required string shardId = 1;</code>
         * @return Whether the shardId field is set.
         */
        public boolean hasShardId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string shardId = 1;</code>
         * @return The shardId.
         */
        public java.lang.String getShardId() {
          java.lang.Object ref = shardId_;
          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()) {
              shardId_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string shardId = 1;</code>
         * @return The bytes for shardId.
         */
        public org.apache.pekko.protobufv3.internal.ByteString
            getShardIdBytes() {
          java.lang.Object ref = shardId_;
          if (ref instanceof String) {
            org.apache.pekko.protobufv3.internal.ByteString b = 
                org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            shardId_ = b;
            return b;
          } else {
            return (org.apache.pekko.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string shardId = 1;</code>
         * @param value The shardId to set.
         * @return This builder for chaining.
         */
        public Builder setShardId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          shardId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string shardId = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearShardId() {
          shardId_ = getDefaultInstance().getShardId();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string shardId = 1;</code>
         * @param value The bytes for shardId to set.
         * @return This builder for chaining.
         */
        public Builder setShardIdBytes(
            org.apache.pekko.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          shardId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object regionRef_ = "";
        /**
         * <code>required string regionRef = 2;</code>
         * @return Whether the regionRef field is set.
         */
        public boolean hasRegionRef() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string regionRef = 2;</code>
         * @return The regionRef.
         */
        public java.lang.String getRegionRef() {
          java.lang.Object ref = regionRef_;
          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()) {
              regionRef_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string regionRef = 2;</code>
         * @return The bytes for regionRef.
         */
        public org.apache.pekko.protobufv3.internal.ByteString
            getRegionRefBytes() {
          java.lang.Object ref = regionRef_;
          if (ref instanceof String) {
            org.apache.pekko.protobufv3.internal.ByteString b = 
                org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            regionRef_ = b;
            return b;
          } else {
            return (org.apache.pekko.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string regionRef = 2;</code>
         * @param value The regionRef to set.
         * @return This builder for chaining.
         */
        public Builder setRegionRef(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          regionRef_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string regionRef = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearRegionRef() {
          regionRef_ = getDefaultInstance().getRegionRef();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string regionRef = 2;</code>
         * @param value The bytes for regionRef to set.
         * @return This builder for chaining.
         */
        public Builder setRegionRefBytes(
            org.apache.pekko.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          regionRef_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CoordinatorState.ShardEntry)
      }

      // @@protoc_insertion_point(class_scope:CoordinatorState.ShardEntry)
      private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry();
      }

      public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final org.apache.pekko.protobufv3.internal.Parser<ShardEntry>
          PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardEntry>() {
        @java.lang.Override
        public ShardEntry 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<ShardEntry> parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int SHARDS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> shards_;
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> getShardsList() {
      return shards_;
    }
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> 
        getShardsOrBuilderList() {
      return shards_;
    }
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    @java.lang.Override
    public int getShardsCount() {
      return shards_.size();
    }
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index) {
      return shards_.get(index);
    }
    /**
     * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder(
        int index) {
      return shards_.get(index);
    }

    public static final int REGIONS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList regions_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string regions = 2;</code>
     * @return A list containing the regions.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getRegionsList() {
      return regions_;
    }
    /**
     * <code>repeated string regions = 2;</code>
     * @return The count of regions.
     */
    public int getRegionsCount() {
      return regions_.size();
    }
    /**
     * <code>repeated string regions = 2;</code>
     * @param index The index of the element to return.
     * @return The regions at the given index.
     */
    public java.lang.String getRegions(int index) {
      return regions_.get(index);
    }
    /**
     * <code>repeated string regions = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the regions at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getRegionsBytes(int index) {
      return regions_.getByteString(index);
    }

    public static final int REGIONPROXIES_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList regionProxies_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @return A list containing the regionProxies.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getRegionProxiesList() {
      return regionProxies_;
    }
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @return The count of regionProxies.
     */
    public int getRegionProxiesCount() {
      return regionProxies_.size();
    }
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @param index The index of the element to return.
     * @return The regionProxies at the given index.
     */
    public java.lang.String getRegionProxies(int index) {
      return regionProxies_.get(index);
    }
    /**
     * <code>repeated string regionProxies = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the regionProxies at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getRegionProxiesBytes(int index) {
      return regionProxies_.getByteString(index);
    }

    public static final int UNALLOCATEDSHARDS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList unallocatedShards_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @return A list containing the unallocatedShards.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getUnallocatedShardsList() {
      return unallocatedShards_;
    }
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @return The count of unallocatedShards.
     */
    public int getUnallocatedShardsCount() {
      return unallocatedShards_.size();
    }
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @param index The index of the element to return.
     * @return The unallocatedShards at the given index.
     */
    public java.lang.String getUnallocatedShards(int index) {
      return unallocatedShards_.get(index);
    }
    /**
     * <code>repeated string unallocatedShards = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the unallocatedShards at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getUnallocatedShardsBytes(int index) {
      return unallocatedShards_.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;

      for (int i = 0; i < getShardsCount(); i++) {
        if (!getShards(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 {
      for (int i = 0; i < shards_.size(); i++) {
        output.writeMessage(1, shards_.get(i));
      }
      for (int i = 0; i < regions_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, regions_.getRaw(i));
      }
      for (int i = 0; i < regionProxies_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 3, regionProxies_.getRaw(i));
      }
      for (int i = 0; i < unallocatedShards_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 4, unallocatedShards_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < shards_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, shards_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < regions_.size(); i++) {
          dataSize += computeStringSizeNoTag(regions_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getRegionsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < regionProxies_.size(); i++) {
          dataSize += computeStringSizeNoTag(regionProxies_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getRegionProxiesList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < unallocatedShards_.size(); i++) {
          dataSize += computeStringSizeNoTag(unallocatedShards_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getUnallocatedShardsList().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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState) obj;

      if (!getShardsList()
          .equals(other.getShardsList())) return false;
      if (!getRegionsList()
          .equals(other.getRegionsList())) return false;
      if (!getRegionProxiesList()
          .equals(other.getRegionProxiesList())) return false;
      if (!getUnallocatedShardsList()
          .equals(other.getUnallocatedShardsList())) 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 (getShardsCount() > 0) {
        hash = (37 * hash) + SHARDS_FIELD_NUMBER;
        hash = (53 * hash) + getShardsList().hashCode();
      }
      if (getRegionsCount() > 0) {
        hash = (37 * hash) + REGIONS_FIELD_NUMBER;
        hash = (53 * hash) + getRegionsList().hashCode();
      }
      if (getRegionProxiesCount() > 0) {
        hash = (37 * hash) + REGIONPROXIES_FIELD_NUMBER;
        hash = (53 * hash) + getRegionProxiesList().hashCode();
      }
      if (getUnallocatedShardsCount() > 0) {
        hash = (37 * hash) + UNALLOCATEDSHARDS_FIELD_NUMBER;
        hash = (53 * hash) + getUnallocatedShardsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState 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;
    }
    /**
     * Protobuf type {@code CoordinatorState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CoordinatorState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.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;
        if (shardsBuilder_ == null) {
          shards_ = java.util.Collections.emptyList();
        } else {
          shards_ = null;
          shardsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        regions_ =
            org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        regionProxies_ =
            org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        unallocatedShards_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CoordinatorState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result) {
        if (shardsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            shards_ = java.util.Collections.unmodifiableList(shards_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.shards_ = shards_;
        } else {
          result.shards_ = shardsBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          regions_.makeImmutable();
          result.regions_ = regions_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          regionProxies_.makeImmutable();
          result.regionProxies_ = regionProxies_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          unallocatedShards_.makeImmutable();
          result.unallocatedShards_ = unallocatedShards_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.getDefaultInstance()) return this;
        if (shardsBuilder_ == null) {
          if (!other.shards_.isEmpty()) {
            if (shards_.isEmpty()) {
              shards_ = other.shards_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureShardsIsMutable();
              shards_.addAll(other.shards_);
            }
            onChanged();
          }
        } else {
          if (!other.shards_.isEmpty()) {
            if (shardsBuilder_.isEmpty()) {
              shardsBuilder_.dispose();
              shardsBuilder_ = null;
              shards_ = other.shards_;
              bitField0_ = (bitField0_ & ~0x00000001);
              shardsBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetShardsFieldBuilder() : null;
            } else {
              shardsBuilder_.addAllMessages(other.shards_);
            }
          }
        }
        if (!other.regions_.isEmpty()) {
          if (regions_.isEmpty()) {
            regions_ = other.regions_;
            bitField0_ |= 0x00000002;
          } else {
            ensureRegionsIsMutable();
            regions_.addAll(other.regions_);
          }
          onChanged();
        }
        if (!other.regionProxies_.isEmpty()) {
          if (regionProxies_.isEmpty()) {
            regionProxies_ = other.regionProxies_;
            bitField0_ |= 0x00000004;
          } else {
            ensureRegionProxiesIsMutable();
            regionProxies_.addAll(other.regionProxies_);
          }
          onChanged();
        }
        if (!other.unallocatedShards_.isEmpty()) {
          if (unallocatedShards_.isEmpty()) {
            unallocatedShards_ = other.unallocatedShards_;
            bitField0_ |= 0x00000008;
          } else {
            ensureUnallocatedShardsIsMutable();
            unallocatedShards_.addAll(other.unallocatedShards_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getShardsCount(); i++) {
          if (!getShards(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 10: {
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.parser(),
                        extensionRegistry);
                if (shardsBuilder_ == null) {
                  ensureShardsIsMutable();
                  shards_.add(m);
                } else {
                  shardsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureRegionsIsMutable();
                regions_.add(bs);
                break;
              } // case 18
              case 26: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureRegionProxiesIsMutable();
                regionProxies_.add(bs);
                break;
              } // case 26
              case 34: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureUnallocatedShardsIsMutable();
                unallocatedShards_.add(bs);
                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 java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> shards_ =
        java.util.Collections.emptyList();
      private void ensureShardsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          shards_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry>(shards_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> shardsBuilder_;

      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> getShardsList() {
        if (shardsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(shards_);
        } else {
          return shardsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public int getShardsCount() {
        if (shardsBuilder_ == null) {
          return shards_.size();
        } else {
          return shardsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry getShards(int index) {
        if (shardsBuilder_ == null) {
          return shards_.get(index);
        } else {
          return shardsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder setShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.set(index, value);
          onChanged();
        } else {
          shardsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder setShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.set(index, builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder addShards(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.add(value);
          onChanged();
        } else {
          shardsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder addShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.add(index, value);
          onChanged();
        } else {
          shardsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder addShards(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.add(builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder addShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.add(index, builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder addAllShards(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry> values) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, shards_);
          onChanged();
        } else {
          shardsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder clearShards() {
        if (shardsBuilder_ == null) {
          shards_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          shardsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public Builder removeShards(int index) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.remove(index);
          onChanged();
        } else {
          shardsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder getShardsBuilder(
          int index) {
        return internalGetShardsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder getShardsOrBuilder(
          int index) {
        if (shardsBuilder_ == null) {
          return shards_.get(index);  } else {
          return shardsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> 
           getShardsOrBuilderList() {
        if (shardsBuilder_ != null) {
          return shardsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(shards_);
        }
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder addShardsBuilder() {
        return internalGetShardsFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder addShardsBuilder(
          int index) {
        return internalGetShardsFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .CoordinatorState.ShardEntry shards = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder> 
           getShardsBuilderList() {
        return internalGetShardsFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder> 
          internalGetShardsFieldBuilder() {
        if (shardsBuilder_ == null) {
          shardsBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState.ShardEntryOrBuilder>(
                  shards_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          shards_ = null;
        }
        return shardsBuilder_;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList regions_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureRegionsIsMutable() {
        if (!regions_.isModifiable()) {
          regions_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(regions_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @return A list containing the regions.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getRegionsList() {
        regions_.makeImmutable();
        return regions_;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @return The count of regions.
       */
      public int getRegionsCount() {
        return regions_.size();
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param index The index of the element to return.
       * @return The regions at the given index.
       */
      public java.lang.String getRegions(int index) {
        return regions_.get(index);
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the regions at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionsBytes(int index) {
        return regions_.getByteString(index);
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param index The index to set the value at.
       * @param value The regions to set.
       * @return This builder for chaining.
       */
      public Builder setRegions(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionsIsMutable();
        regions_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param value The regions to add.
       * @return This builder for chaining.
       */
      public Builder addRegions(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionsIsMutable();
        regions_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param values The regions to add.
       * @return This builder for chaining.
       */
      public Builder addAllRegions(
          java.lang.Iterable<java.lang.String> values) {
        ensureRegionsIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, regions_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegions() {
        regions_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regions = 2;</code>
       * @param value The bytes of the regions to add.
       * @return This builder for chaining.
       */
      public Builder addRegionsBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionsIsMutable();
        regions_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList regionProxies_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureRegionProxiesIsMutable() {
        if (!regionProxies_.isModifiable()) {
          regionProxies_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(regionProxies_);
        }
        bitField0_ |= 0x00000004;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @return A list containing the regionProxies.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getRegionProxiesList() {
        regionProxies_.makeImmutable();
        return regionProxies_;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @return The count of regionProxies.
       */
      public int getRegionProxiesCount() {
        return regionProxies_.size();
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param index The index of the element to return.
       * @return The regionProxies at the given index.
       */
      public java.lang.String getRegionProxies(int index) {
        return regionProxies_.get(index);
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param index The index of the value to return.
       * @return The bytes of the regionProxies at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionProxiesBytes(int index) {
        return regionProxies_.getByteString(index);
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param index The index to set the value at.
       * @param value The regionProxies to set.
       * @return This builder for chaining.
       */
      public Builder setRegionProxies(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionProxiesIsMutable();
        regionProxies_.set(index, value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param value The regionProxies to add.
       * @return This builder for chaining.
       */
      public Builder addRegionProxies(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionProxiesIsMutable();
        regionProxies_.add(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param values The regionProxies to add.
       * @return This builder for chaining.
       */
      public Builder addAllRegionProxies(
          java.lang.Iterable<java.lang.String> values) {
        ensureRegionProxiesIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, regionProxies_);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionProxies() {
        regionProxies_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string regionProxies = 3;</code>
       * @param value The bytes of the regionProxies to add.
       * @return This builder for chaining.
       */
      public Builder addRegionProxiesBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureRegionProxiesIsMutable();
        regionProxies_.add(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList unallocatedShards_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureUnallocatedShardsIsMutable() {
        if (!unallocatedShards_.isModifiable()) {
          unallocatedShards_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(unallocatedShards_);
        }
        bitField0_ |= 0x00000008;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @return A list containing the unallocatedShards.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getUnallocatedShardsList() {
        unallocatedShards_.makeImmutable();
        return unallocatedShards_;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @return The count of unallocatedShards.
       */
      public int getUnallocatedShardsCount() {
        return unallocatedShards_.size();
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param index The index of the element to return.
       * @return The unallocatedShards at the given index.
       */
      public java.lang.String getUnallocatedShards(int index) {
        return unallocatedShards_.get(index);
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param index The index of the value to return.
       * @return The bytes of the unallocatedShards at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getUnallocatedShardsBytes(int index) {
        return unallocatedShards_.getByteString(index);
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param index The index to set the value at.
       * @param value The unallocatedShards to set.
       * @return This builder for chaining.
       */
      public Builder setUnallocatedShards(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureUnallocatedShardsIsMutable();
        unallocatedShards_.set(index, value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param value The unallocatedShards to add.
       * @return This builder for chaining.
       */
      public Builder addUnallocatedShards(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureUnallocatedShardsIsMutable();
        unallocatedShards_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param values The unallocatedShards to add.
       * @return This builder for chaining.
       */
      public Builder addAllUnallocatedShards(
          java.lang.Iterable<java.lang.String> values) {
        ensureUnallocatedShardsIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, unallocatedShards_);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearUnallocatedShards() {
        unallocatedShards_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string unallocatedShards = 4;</code>
       * @param value The bytes of the unallocatedShards to add.
       * @return This builder for chaining.
       */
      public Builder addUnallocatedShardsBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureUnallocatedShardsIsMutable();
        unallocatedShards_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CoordinatorState)
    }

    // @@protoc_insertion_point(class_scope:CoordinatorState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<CoordinatorState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<CoordinatorState>() {
      @java.lang.Override
      public CoordinatorState 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<CoordinatorState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CoordinatorState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ActorRefMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ActorRefMessage)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string ref = 1;</code>
     * @return Whether the ref field is set.
     */
    boolean hasRef();
    /**
     * <code>required string ref = 1;</code>
     * @return The ref.
     */
    java.lang.String getRef();
    /**
     * <code>required string ref = 1;</code>
     * @return The bytes for ref.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getRefBytes();
  }
  /**
   * Protobuf type {@code ActorRefMessage}
   */
  public static final class ActorRefMessage extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ActorRefMessage)
      ActorRefMessageOrBuilder {
  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= */ "",
        "ActorRefMessage");
    }
    // Use ActorRefMessage.newBuilder() to construct.
    private ActorRefMessage(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ActorRefMessage() {
      ref_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.Builder.class);
    }

    private int bitField0_;
    public static final int REF_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ref_ = "";
    /**
     * <code>required string ref = 1;</code>
     * @return Whether the ref field is set.
     */
    @java.lang.Override
    public boolean hasRef() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string ref = 1;</code>
     * @return The ref.
     */
    @java.lang.Override
    public java.lang.String getRef() {
      java.lang.Object ref = ref_;
      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()) {
          ref_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string ref = 1;</code>
     * @return The bytes for ref.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getRefBytes() {
      java.lang.Object ref = ref_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ref_ = 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 (!hasRef()) {
        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, ref_);
      }
      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, ref_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage) obj;

      if (hasRef() != other.hasRef()) return false;
      if (hasRef()) {
        if (!getRef()
            .equals(other.getRef())) 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 (hasRef()) {
        hash = (37 * hash) + REF_FIELD_NUMBER;
        hash = (53 * hash) + getRef().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage 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;
    }
    /**
     * Protobuf type {@code ActorRefMessage}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ActorRefMessage)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessageOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.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;
        ref_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ActorRefMessage_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.ref_ = ref_;
          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.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage.getDefaultInstance()) return this;
        if (other.hasRef()) {
          ref_ = other.ref_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasRef()) {
          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: {
                ref_ = 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 ref_ = "";
      /**
       * <code>required string ref = 1;</code>
       * @return Whether the ref field is set.
       */
      public boolean hasRef() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string ref = 1;</code>
       * @return The ref.
       */
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        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()) {
            ref_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string ref = 1;</code>
       * @return The bytes for ref.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string ref = 1;</code>
       * @param value The ref to set.
       * @return This builder for chaining.
       */
      public Builder setRef(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ref_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string ref = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRef() {
        ref_ = getDefaultInstance().getRef();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string ref = 1;</code>
       * @param value The bytes for ref to set.
       * @return This builder for chaining.
       */
      public Builder setRefBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ref_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ActorRefMessage)
    }

    // @@protoc_insertion_point(class_scope:ActorRefMessage)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ActorRefMessage>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ActorRefMessage>() {
      @java.lang.Override
      public ActorRefMessage 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<ActorRefMessage> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ActorRefMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardIdMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardIdMessage)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string shard = 1;</code>
     * @return Whether the shard field is set.
     */
    boolean hasShard();
    /**
     * <code>required string shard = 1;</code>
     * @return The shard.
     */
    java.lang.String getShard();
    /**
     * <code>required string shard = 1;</code>
     * @return The bytes for shard.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes();
  }
  /**
   * Protobuf type {@code ShardIdMessage}
   */
  public static final class ShardIdMessage extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardIdMessage)
      ShardIdMessageOrBuilder {
  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= */ "",
        "ShardIdMessage");
    }
    // Use ShardIdMessage.newBuilder() to construct.
    private ShardIdMessage(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardIdMessage() {
      shard_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.Builder.class);
    }

    private int bitField0_;
    public static final int SHARD_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shard_ = "";
    /**
     * <code>required string shard = 1;</code>
     * @return Whether the shard field is set.
     */
    @java.lang.Override
    public boolean hasShard() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The shard.
     */
    @java.lang.Override
    public java.lang.String getShard() {
      java.lang.Object ref = shard_;
      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()) {
          shard_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The bytes for shard.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes() {
      java.lang.Object ref = shard_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shard_ = 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 (!hasShard()) {
        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, shard_);
      }
      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, shard_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage) obj;

      if (hasShard() != other.hasShard()) return false;
      if (hasShard()) {
        if (!getShard()
            .equals(other.getShard())) 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 (hasShard()) {
        hash = (37 * hash) + SHARD_FIELD_NUMBER;
        hash = (53 * hash) + getShard().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage 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;
    }
    /**
     * Protobuf type {@code ShardIdMessage}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardIdMessage)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessageOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.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;
        shard_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardIdMessage_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shard_ = shard_;
          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.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage.getDefaultInstance()) return this;
        if (other.hasShard()) {
          shard_ = other.shard_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShard()) {
          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: {
                shard_ = 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 shard_ = "";
      /**
       * <code>required string shard = 1;</code>
       * @return Whether the shard field is set.
       */
      public boolean hasShard() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The shard.
       */
      public java.lang.String getShard() {
        java.lang.Object ref = shard_;
        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()) {
            shard_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The bytes for shard.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardBytes() {
        java.lang.Object ref = shard_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shard_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The shard to set.
       * @return This builder for chaining.
       */
      public Builder setShard(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShard() {
        shard_ = getDefaultInstance().getShard();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The bytes for shard to set.
       * @return This builder for chaining.
       */
      public Builder setShardBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardIdMessage)
    }

    // @@protoc_insertion_point(class_scope:ShardIdMessage)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardIdMessage>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardIdMessage>() {
      @java.lang.Override
      public ShardIdMessage 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<ShardIdMessage> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardIdMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardHomeAllocatedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardHomeAllocated)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>required string region = 2;</code>
     * @return Whether the region field is set.
     */
    boolean hasRegion();
    /**
     * <code>required string region = 2;</code>
     * @return The region.
     */
    java.lang.String getRegion();
    /**
     * <code>required string region = 2;</code>
     * @return The bytes for region.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getRegionBytes();
  }
  /**
   * Protobuf type {@code ShardHomeAllocated}
   */
  public static final class ShardHomeAllocated extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardHomeAllocated)
      ShardHomeAllocatedOrBuilder {
  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= */ "",
        "ShardHomeAllocated");
    }
    // Use ShardHomeAllocated.newBuilder() to construct.
    private ShardHomeAllocated(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardHomeAllocated() {
      shard_ = "";
      region_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.Builder.class);
    }

    private int bitField0_;
    public static final int SHARD_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shard_ = "";
    /**
     * <code>required string shard = 1;</code>
     * @return Whether the shard field is set.
     */
    @java.lang.Override
    public boolean hasShard() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The shard.
     */
    @java.lang.Override
    public java.lang.String getShard() {
      java.lang.Object ref = shard_;
      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()) {
          shard_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The bytes for shard.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes() {
      java.lang.Object ref = shard_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shard_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int REGION_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object region_ = "";
    /**
     * <code>required string region = 2;</code>
     * @return Whether the region field is set.
     */
    @java.lang.Override
    public boolean hasRegion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string region = 2;</code>
     * @return The region.
     */
    @java.lang.Override
    public java.lang.String getRegion() {
      java.lang.Object ref = region_;
      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()) {
          region_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string region = 2;</code>
     * @return The bytes for region.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getRegionBytes() {
      java.lang.Object ref = region_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        region_ = 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 (!hasShard()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRegion()) {
        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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, region_);
      }
      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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, region_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated) obj;

      if (hasShard() != other.hasShard()) return false;
      if (hasShard()) {
        if (!getShard()
            .equals(other.getShard())) return false;
      }
      if (hasRegion() != other.hasRegion()) return false;
      if (hasRegion()) {
        if (!getRegion()
            .equals(other.getRegion())) 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 (hasShard()) {
        hash = (37 * hash) + SHARD_FIELD_NUMBER;
        hash = (53 * hash) + getShard().hashCode();
      }
      if (hasRegion()) {
        hash = (37 * hash) + REGION_FIELD_NUMBER;
        hash = (53 * hash) + getRegion().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated 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;
    }
    /**
     * Protobuf type {@code ShardHomeAllocated}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardHomeAllocated)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocatedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.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;
        shard_ = "";
        region_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomeAllocated_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shard_ = shard_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.region_ = region_;
          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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated.getDefaultInstance()) return this;
        if (other.hasShard()) {
          shard_ = other.shard_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasRegion()) {
          region_ = other.region_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShard()) {
          return false;
        }
        if (!hasRegion()) {
          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: {
                shard_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                region_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 shard_ = "";
      /**
       * <code>required string shard = 1;</code>
       * @return Whether the shard field is set.
       */
      public boolean hasShard() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The shard.
       */
      public java.lang.String getShard() {
        java.lang.Object ref = shard_;
        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()) {
            shard_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The bytes for shard.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardBytes() {
        java.lang.Object ref = shard_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shard_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The shard to set.
       * @return This builder for chaining.
       */
      public Builder setShard(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShard() {
        shard_ = getDefaultInstance().getShard();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The bytes for shard to set.
       * @return This builder for chaining.
       */
      public Builder setShardBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object region_ = "";
      /**
       * <code>required string region = 2;</code>
       * @return Whether the region field is set.
       */
      public boolean hasRegion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string region = 2;</code>
       * @return The region.
       */
      public java.lang.String getRegion() {
        java.lang.Object ref = region_;
        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()) {
            region_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string region = 2;</code>
       * @return The bytes for region.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionBytes() {
        java.lang.Object ref = region_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          region_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string region = 2;</code>
       * @param value The region to set.
       * @return This builder for chaining.
       */
      public Builder setRegion(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegion() {
        region_ = getDefaultInstance().getRegion();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 2;</code>
       * @param value The bytes for region to set.
       * @return This builder for chaining.
       */
      public Builder setRegionBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardHomeAllocated)
    }

    // @@protoc_insertion_point(class_scope:ShardHomeAllocated)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardHomeAllocated>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardHomeAllocated>() {
      @java.lang.Override
      public ShardHomeAllocated 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<ShardHomeAllocated> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeAllocated getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardHomeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardHome)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>required string region = 2;</code>
     * @return Whether the region field is set.
     */
    boolean hasRegion();
    /**
     * <code>required string region = 2;</code>
     * @return The region.
     */
    java.lang.String getRegion();
    /**
     * <code>required string region = 2;</code>
     * @return The bytes for region.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getRegionBytes();
  }
  /**
   * Protobuf type {@code ShardHome}
   */
  public static final class ShardHome extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardHome)
      ShardHomeOrBuilder {
  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= */ "",
        "ShardHome");
    }
    // Use ShardHome.newBuilder() to construct.
    private ShardHome(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardHome() {
      shard_ = "";
      region_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.Builder.class);
    }

    private int bitField0_;
    public static final int SHARD_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shard_ = "";
    /**
     * <code>required string shard = 1;</code>
     * @return Whether the shard field is set.
     */
    @java.lang.Override
    public boolean hasShard() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The shard.
     */
    @java.lang.Override
    public java.lang.String getShard() {
      java.lang.Object ref = shard_;
      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()) {
          shard_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The bytes for shard.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes() {
      java.lang.Object ref = shard_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shard_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int REGION_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object region_ = "";
    /**
     * <code>required string region = 2;</code>
     * @return Whether the region field is set.
     */
    @java.lang.Override
    public boolean hasRegion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string region = 2;</code>
     * @return The region.
     */
    @java.lang.Override
    public java.lang.String getRegion() {
      java.lang.Object ref = region_;
      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()) {
          region_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string region = 2;</code>
     * @return The bytes for region.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getRegionBytes() {
      java.lang.Object ref = region_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        region_ = 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 (!hasShard()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRegion()) {
        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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, region_);
      }
      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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, region_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome) obj;

      if (hasShard() != other.hasShard()) return false;
      if (hasShard()) {
        if (!getShard()
            .equals(other.getShard())) return false;
      }
      if (hasRegion() != other.hasRegion()) return false;
      if (hasRegion()) {
        if (!getRegion()
            .equals(other.getRegion())) 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 (hasShard()) {
        hash = (37 * hash) + SHARD_FIELD_NUMBER;
        hash = (53 * hash) + getShard().hashCode();
      }
      if (hasRegion()) {
        hash = (37 * hash) + REGION_FIELD_NUMBER;
        hash = (53 * hash) + getRegion().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome 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;
    }
    /**
     * Protobuf type {@code ShardHome}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardHome)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomeOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.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;
        shard_ = "";
        region_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHome_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shard_ = shard_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.region_ = region_;
          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.sharding.protobuf.msg.ClusterShardingMessages.ShardHome) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome.getDefaultInstance()) return this;
        if (other.hasShard()) {
          shard_ = other.shard_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasRegion()) {
          region_ = other.region_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShard()) {
          return false;
        }
        if (!hasRegion()) {
          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: {
                shard_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                region_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 shard_ = "";
      /**
       * <code>required string shard = 1;</code>
       * @return Whether the shard field is set.
       */
      public boolean hasShard() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The shard.
       */
      public java.lang.String getShard() {
        java.lang.Object ref = shard_;
        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()) {
            shard_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The bytes for shard.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardBytes() {
        java.lang.Object ref = shard_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shard_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The shard to set.
       * @return This builder for chaining.
       */
      public Builder setShard(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShard() {
        shard_ = getDefaultInstance().getShard();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The bytes for shard to set.
       * @return This builder for chaining.
       */
      public Builder setShardBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object region_ = "";
      /**
       * <code>required string region = 2;</code>
       * @return Whether the region field is set.
       */
      public boolean hasRegion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string region = 2;</code>
       * @return The region.
       */
      public java.lang.String getRegion() {
        java.lang.Object ref = region_;
        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()) {
            region_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string region = 2;</code>
       * @return The bytes for region.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionBytes() {
        java.lang.Object ref = region_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          region_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string region = 2;</code>
       * @param value The region to set.
       * @return This builder for chaining.
       */
      public Builder setRegion(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegion() {
        region_ = getDefaultInstance().getRegion();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 2;</code>
       * @param value The bytes for region to set.
       * @return This builder for chaining.
       */
      public Builder setRegionBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardHome)
    }

    // @@protoc_insertion_point(class_scope:ShardHome)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardHome>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardHome>() {
      @java.lang.Override
      public ShardHome 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<ShardHome> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHome getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardHomesEntryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardHomesEntry)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>repeated string shard = 2;</code>
     * @return A list containing the shard.
     */
    java.util.List<java.lang.String>
        getShardList();
    /**
     * <code>repeated string shard = 2;</code>
     * @return The count of shard.
     */
    int getShardCount();
    /**
     * <code>repeated string shard = 2;</code>
     * @param index The index of the element to return.
     * @return The shard at the given index.
     */
    java.lang.String getShard(int index);
    /**
     * <code>repeated string shard = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the shard at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes(int index);
  }
  /**
   * <pre>
   * only used nested in ShardHomes
   * </pre>
   *
   * Protobuf type {@code ShardHomesEntry}
   */
  public static final class ShardHomesEntry extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardHomesEntry)
      ShardHomesEntryOrBuilder {
  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= */ "",
        "ShardHomesEntry");
    }
    // Use ShardHomesEntry.newBuilder() to construct.
    private ShardHomesEntry(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardHomesEntry() {
      region_ = "";
      shard_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomesEntry_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomesEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder.class);
    }

    private int bitField0_;
    public static final int REGION_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object region_ = "";
    /**
     * <code>required string region = 1;</code>
     * @return Whether the region field is set.
     */
    @java.lang.Override
    public boolean hasRegion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string region = 1;</code>
     * @return The region.
     */
    @java.lang.Override
    public java.lang.String getRegion() {
      java.lang.Object ref = region_;
      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()) {
          region_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string region = 1;</code>
     * @return The bytes for region.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getRegionBytes() {
      java.lang.Object ref = region_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        region_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int SHARD_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList shard_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string shard = 2;</code>
     * @return A list containing the shard.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getShardList() {
      return shard_;
    }
    /**
     * <code>repeated string shard = 2;</code>
     * @return The count of shard.
     */
    public int getShardCount() {
      return shard_.size();
    }
    /**
     * <code>repeated string shard = 2;</code>
     * @param index The index of the element to return.
     * @return The shard at the given index.
     */
    public java.lang.String getShard(int index) {
      return shard_.get(index);
    }
    /**
     * <code>repeated string shard = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the shard at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes(int index) {
      return shard_.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;

      if (!hasRegion()) {
        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, region_);
      }
      for (int i = 0; i < shard_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, shard_.getRaw(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.GeneratedMessage.computeStringSize(1, region_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < shard_.size(); i++) {
          dataSize += computeStringSizeNoTag(shard_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getShardList().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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry) obj;

      if (hasRegion() != other.hasRegion()) return false;
      if (hasRegion()) {
        if (!getRegion()
            .equals(other.getRegion())) return false;
      }
      if (!getShardList()
          .equals(other.getShardList())) 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 (hasRegion()) {
        hash = (37 * hash) + REGION_FIELD_NUMBER;
        hash = (53 * hash) + getRegion().hashCode();
      }
      if (getShardCount() > 0) {
        hash = (37 * hash) + SHARD_FIELD_NUMBER;
        hash = (53 * hash) + getShardList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry 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>
     * only used nested in ShardHomes
     * </pre>
     *
     * Protobuf type {@code ShardHomesEntry}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardHomesEntry)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomesEntry_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomesEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.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;
        region_ = "";
        shard_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomesEntry_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.region_ = region_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          shard_.makeImmutable();
          result.shard_ = shard_;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.getDefaultInstance()) return this;
        if (other.hasRegion()) {
          region_ = other.region_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (!other.shard_.isEmpty()) {
          if (shard_.isEmpty()) {
            shard_ = other.shard_;
            bitField0_ |= 0x00000002;
          } else {
            ensureShardIsMutable();
            shard_.addAll(other.shard_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasRegion()) {
          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: {
                region_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureShardIsMutable();
                shard_.add(bs);
                break;
              } // case 18
              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 region_ = "";
      /**
       * <code>required string region = 1;</code>
       * @return Whether the region field is set.
       */
      public boolean hasRegion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string region = 1;</code>
       * @return The region.
       */
      public java.lang.String getRegion() {
        java.lang.Object ref = region_;
        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()) {
            region_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string region = 1;</code>
       * @return The bytes for region.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getRegionBytes() {
        java.lang.Object ref = region_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          region_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string region = 1;</code>
       * @param value The region to set.
       * @return This builder for chaining.
       */
      public Builder setRegion(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegion() {
        region_ = getDefaultInstance().getRegion();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string region = 1;</code>
       * @param value The bytes for region to set.
       * @return This builder for chaining.
       */
      public Builder setRegionBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        region_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList shard_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureShardIsMutable() {
        if (!shard_.isModifiable()) {
          shard_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(shard_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @return A list containing the shard.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getShardList() {
        shard_.makeImmutable();
        return shard_;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @return The count of shard.
       */
      public int getShardCount() {
        return shard_.size();
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param index The index of the element to return.
       * @return The shard at the given index.
       */
      public java.lang.String getShard(int index) {
        return shard_.get(index);
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the shard at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardBytes(int index) {
        return shard_.getByteString(index);
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param index The index to set the value at.
       * @param value The shard to set.
       * @return This builder for chaining.
       */
      public Builder setShard(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIsMutable();
        shard_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param value The shard to add.
       * @return This builder for chaining.
       */
      public Builder addShard(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIsMutable();
        shard_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param values The shard to add.
       * @return This builder for chaining.
       */
      public Builder addAllShard(
          java.lang.Iterable<java.lang.String> values) {
        ensureShardIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, shard_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearShard() {
        shard_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shard = 2;</code>
       * @param value The bytes of the shard to add.
       * @return This builder for chaining.
       */
      public Builder addShardBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIsMutable();
        shard_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardHomesEntry)
    }

    // @@protoc_insertion_point(class_scope:ShardHomesEntry)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardHomesEntry>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardHomesEntry>() {
      @java.lang.Override
      public ShardHomesEntry 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<ShardHomesEntry> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardHomesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardHomes)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> 
        getHomesList();
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getHomes(int index);
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    int getHomesCount();
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder> 
        getHomesOrBuilderList();
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder getHomesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code ShardHomes}
   */
  public static final class ShardHomes extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardHomes)
      ShardHomesOrBuilder {
  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= */ "",
        "ShardHomes");
    }
    // Use ShardHomes.newBuilder() to construct.
    private ShardHomes(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardHomes() {
      homes_ = java.util.Collections.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomes_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomes_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.Builder.class);
    }

    public static final int HOMES_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> homes_;
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> getHomesList() {
      return homes_;
    }
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder> 
        getHomesOrBuilderList() {
      return homes_;
    }
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    @java.lang.Override
    public int getHomesCount() {
      return homes_.size();
    }
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getHomes(int index) {
      return homes_.get(index);
    }
    /**
     * <code>repeated .ShardHomesEntry homes = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder getHomesOrBuilder(
        int index) {
      return homes_.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;

      for (int i = 0; i < getHomesCount(); i++) {
        if (!getHomes(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 {
      for (int i = 0; i < homes_.size(); i++) {
        output.writeMessage(1, homes_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < homes_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, homes_.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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes) obj;

      if (!getHomesList()
          .equals(other.getHomesList())) 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 (getHomesCount() > 0) {
        hash = (37 * hash) + HOMES_FIELD_NUMBER;
        hash = (53 * hash) + getHomesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes 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;
    }
    /**
     * Protobuf type {@code ShardHomes}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardHomes)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomes_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomes_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.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;
        if (homesBuilder_ == null) {
          homes_ = java.util.Collections.emptyList();
        } else {
          homes_ = null;
          homesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardHomes_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes result) {
        if (homesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            homes_ = java.util.Collections.unmodifiableList(homes_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.homes_ = homes_;
        } else {
          result.homes_ = homesBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes result) {
        int from_bitField0_ = bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes.getDefaultInstance()) return this;
        if (homesBuilder_ == null) {
          if (!other.homes_.isEmpty()) {
            if (homes_.isEmpty()) {
              homes_ = other.homes_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureHomesIsMutable();
              homes_.addAll(other.homes_);
            }
            onChanged();
          }
        } else {
          if (!other.homes_.isEmpty()) {
            if (homesBuilder_.isEmpty()) {
              homesBuilder_.dispose();
              homesBuilder_ = null;
              homes_ = other.homes_;
              bitField0_ = (bitField0_ & ~0x00000001);
              homesBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetHomesFieldBuilder() : null;
            } else {
              homesBuilder_.addAllMessages(other.homes_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getHomesCount(); i++) {
          if (!getHomes(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 10: {
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.parser(),
                        extensionRegistry);
                if (homesBuilder_ == null) {
                  ensureHomesIsMutable();
                  homes_.add(m);
                } else {
                  homesBuilder_.addMessage(m);
                }
                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.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> homes_ =
        java.util.Collections.emptyList();
      private void ensureHomesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          homes_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry>(homes_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder> homesBuilder_;

      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> getHomesList() {
        if (homesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(homes_);
        } else {
          return homesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public int getHomesCount() {
        if (homesBuilder_ == null) {
          return homes_.size();
        } else {
          return homesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry getHomes(int index) {
        if (homesBuilder_ == null) {
          return homes_.get(index);
        } else {
          return homesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder setHomes(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry value) {
        if (homesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHomesIsMutable();
          homes_.set(index, value);
          onChanged();
        } else {
          homesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder setHomes(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder builderForValue) {
        if (homesBuilder_ == null) {
          ensureHomesIsMutable();
          homes_.set(index, builderForValue.build());
          onChanged();
        } else {
          homesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder addHomes(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry value) {
        if (homesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHomesIsMutable();
          homes_.add(value);
          onChanged();
        } else {
          homesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder addHomes(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry value) {
        if (homesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHomesIsMutable();
          homes_.add(index, value);
          onChanged();
        } else {
          homesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder addHomes(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder builderForValue) {
        if (homesBuilder_ == null) {
          ensureHomesIsMutable();
          homes_.add(builderForValue.build());
          onChanged();
        } else {
          homesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder addHomes(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder builderForValue) {
        if (homesBuilder_ == null) {
          ensureHomesIsMutable();
          homes_.add(index, builderForValue.build());
          onChanged();
        } else {
          homesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder addAllHomes(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry> values) {
        if (homesBuilder_ == null) {
          ensureHomesIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, homes_);
          onChanged();
        } else {
          homesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder clearHomes() {
        if (homesBuilder_ == null) {
          homes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          homesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public Builder removeHomes(int index) {
        if (homesBuilder_ == null) {
          ensureHomesIsMutable();
          homes_.remove(index);
          onChanged();
        } else {
          homesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder getHomesBuilder(
          int index) {
        return internalGetHomesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder getHomesOrBuilder(
          int index) {
        if (homesBuilder_ == null) {
          return homes_.get(index);  } else {
          return homesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder> 
           getHomesOrBuilderList() {
        if (homesBuilder_ != null) {
          return homesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(homes_);
        }
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder addHomesBuilder() {
        return internalGetHomesFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder addHomesBuilder(
          int index) {
        return internalGetHomesFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .ShardHomesEntry homes = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder> 
           getHomesBuilderList() {
        return internalGetHomesFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder> 
          internalGetHomesFieldBuilder() {
        if (homesBuilder_ == null) {
          homesBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomesEntryOrBuilder>(
                  homes_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          homes_ = null;
        }
        return homesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:ShardHomes)
    }

    // @@protoc_insertion_point(class_scope:ShardHomes)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardHomes>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardHomes>() {
      @java.lang.Override
      public ShardHomes 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<ShardHomes> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardHomes getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntityStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:EntityState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string entities = 1;</code>
     * @return A list containing the entities.
     */
    java.util.List<java.lang.String>
        getEntitiesList();
    /**
     * <code>repeated string entities = 1;</code>
     * @return The count of entities.
     */
    int getEntitiesCount();
    /**
     * <code>repeated string entities = 1;</code>
     * @param index The index of the element to return.
     * @return The entities at the given index.
     */
    java.lang.String getEntities(int index);
    /**
     * <code>repeated string entities = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entities at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntitiesBytes(int index);
  }
  /**
   * Protobuf type {@code EntityState}
   */
  public static final class EntityState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:EntityState)
      EntityStateOrBuilder {
  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= */ "",
        "EntityState");
    }
    // Use EntityState.newBuilder() to construct.
    private EntityState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private EntityState() {
      entities_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.Builder.class);
    }

    public static final int ENTITIES_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList entities_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string entities = 1;</code>
     * @return A list containing the entities.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getEntitiesList() {
      return entities_;
    }
    /**
     * <code>repeated string entities = 1;</code>
     * @return The count of entities.
     */
    public int getEntitiesCount() {
      return entities_.size();
    }
    /**
     * <code>repeated string entities = 1;</code>
     * @param index The index of the element to return.
     * @return The entities at the given index.
     */
    public java.lang.String getEntities(int index) {
      return entities_.get(index);
    }
    /**
     * <code>repeated string entities = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entities at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntitiesBytes(int index) {
      return entities_.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 < entities_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, entities_.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 < entities_.size(); i++) {
          dataSize += computeStringSizeNoTag(entities_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEntitiesList().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.sharding.protobuf.msg.ClusterShardingMessages.EntityState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState) obj;

      if (!getEntitiesList()
          .equals(other.getEntitiesList())) 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 (getEntitiesCount() > 0) {
        hash = (37 * hash) + ENTITIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntitiesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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.sharding.protobuf.msg.ClusterShardingMessages.EntityState 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;
    }
    /**
     * Protobuf type {@code EntityState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:EntityState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.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;
        entities_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          entities_.makeImmutable();
          result.entities_ = entities_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState.getDefaultInstance()) return this;
        if (!other.entities_.isEmpty()) {
          if (entities_.isEmpty()) {
            entities_ = other.entities_;
            bitField0_ |= 0x00000001;
          } else {
            ensureEntitiesIsMutable();
            entities_.addAll(other.entities_);
          }
          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();
                ensureEntitiesIsMutable();
                entities_.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 entities_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureEntitiesIsMutable() {
        if (!entities_.isModifiable()) {
          entities_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(entities_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @return A list containing the entities.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getEntitiesList() {
        entities_.makeImmutable();
        return entities_;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @return The count of entities.
       */
      public int getEntitiesCount() {
        return entities_.size();
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param index The index of the element to return.
       * @return The entities at the given index.
       */
      public java.lang.String getEntities(int index) {
        return entities_.get(index);
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the entities at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntitiesBytes(int index) {
        return entities_.getByteString(index);
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param index The index to set the value at.
       * @param value The entities to set.
       * @return This builder for chaining.
       */
      public Builder setEntities(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntitiesIsMutable();
        entities_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param value The entities to add.
       * @return This builder for chaining.
       */
      public Builder addEntities(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntitiesIsMutable();
        entities_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param values The entities to add.
       * @return This builder for chaining.
       */
      public Builder addAllEntities(
          java.lang.Iterable<java.lang.String> values) {
        ensureEntitiesIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, entities_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntities() {
        entities_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entities = 1;</code>
       * @param value The bytes of the entities to add.
       * @return This builder for chaining.
       */
      public Builder addEntitiesBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntitiesIsMutable();
        entities_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:EntityState)
    }

    // @@protoc_insertion_point(class_scope:EntityState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<EntityState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<EntityState>() {
      @java.lang.Override
      public EntityState 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<EntityState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntityStartedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:EntityStarted)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    boolean hasEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    java.lang.String getEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes();
  }
  /**
   * <pre>
   * not written anymore but kept for backwards compatibility
   * </pre>
   *
   * Protobuf type {@code EntityStarted}
   */
  public static final class EntityStarted extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:EntityStarted)
      EntityStartedOrBuilder {
  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= */ "",
        "EntityStarted");
    }
    // Use EntityStarted.newBuilder() to construct.
    private EntityStarted(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private EntityStarted() {
      entityId_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.Builder.class);
    }

    private int bitField0_;
    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object entityId_ = "";
    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    @java.lang.Override
    public boolean hasEntityId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    @java.lang.Override
    public java.lang.String getEntityId() {
      java.lang.Object ref = entityId_;
      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()) {
          entityId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes() {
      java.lang.Object ref = entityId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        entityId_ = 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 (!hasEntityId()) {
        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, entityId_);
      }
      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, entityId_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted) obj;

      if (hasEntityId() != other.hasEntityId()) return false;
      if (hasEntityId()) {
        if (!getEntityId()
            .equals(other.getEntityId())) 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 (hasEntityId()) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted 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>
     * not written anymore but kept for backwards compatibility
     * </pre>
     *
     * Protobuf type {@code EntityStarted}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:EntityStarted)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStartedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.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;
        entityId_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStarted_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.entityId_ = entityId_;
          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.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted.getDefaultInstance()) return this;
        if (other.hasEntityId()) {
          entityId_ = other.entityId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEntityId()) {
          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: {
                entityId_ = 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 entityId_ = "";
      /**
       * <code>required string entityId = 1;</code>
       * @return Whether the entityId field is set.
       */
      public boolean hasEntityId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The entityId.
       */
      public java.lang.String getEntityId() {
        java.lang.Object ref = entityId_;
        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()) {
            entityId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The bytes for entityId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes() {
        java.lang.Object ref = entityId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ = getDefaultInstance().getEntityId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The bytes for entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:EntityStarted)
    }

    // @@protoc_insertion_point(class_scope:EntityStarted)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<EntityStarted>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<EntityStarted>() {
      @java.lang.Override
      public EntityStarted 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<EntityStarted> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStarted getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntitiesStartedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:EntitiesStarted)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string entityId = 1;</code>
     * @return A list containing the entityId.
     */
    java.util.List<java.lang.String>
        getEntityIdList();
    /**
     * <code>repeated string entityId = 1;</code>
     * @return The count of entityId.
     */
    int getEntityIdCount();
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the element to return.
     * @return The entityId at the given index.
     */
    java.lang.String getEntityId(int index);
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityId at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes(int index);
  }
  /**
   * Protobuf type {@code EntitiesStarted}
   */
  public static final class EntitiesStarted extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:EntitiesStarted)
      EntitiesStartedOrBuilder {
  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= */ "",
        "EntitiesStarted");
    }
    // Use EntitiesStarted.newBuilder() to construct.
    private EntitiesStarted(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private EntitiesStarted() {
      entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStarted_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStarted_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.Builder.class);
    }

    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityId_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string entityId = 1;</code>
     * @return A list containing the entityId.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getEntityIdList() {
      return entityId_;
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @return The count of entityId.
     */
    public int getEntityIdCount() {
      return entityId_.size();
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the element to return.
     * @return The entityId at the given index.
     */
    public java.lang.String getEntityId(int index) {
      return entityId_.get(index);
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityId at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes(int index) {
      return entityId_.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 < entityId_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, entityId_.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 < entityId_.size(); i++) {
          dataSize += computeStringSizeNoTag(entityId_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEntityIdList().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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted) obj;

      if (!getEntityIdList()
          .equals(other.getEntityIdList())) 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 (getEntityIdCount() > 0) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityIdList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted 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;
    }
    /**
     * Protobuf type {@code EntitiesStarted}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:EntitiesStarted)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStartedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStarted_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStarted_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.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;
        entityId_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStarted_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          entityId_.makeImmutable();
          result.entityId_ = entityId_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted.getDefaultInstance()) return this;
        if (!other.entityId_.isEmpty()) {
          if (entityId_.isEmpty()) {
            entityId_ = other.entityId_;
            bitField0_ |= 0x00000001;
          } else {
            ensureEntityIdIsMutable();
            entityId_.addAll(other.entityId_);
          }
          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();
                ensureEntityIdIsMutable();
                entityId_.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 entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureEntityIdIsMutable() {
        if (!entityId_.isModifiable()) {
          entityId_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(entityId_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return A list containing the entityId.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getEntityIdList() {
        entityId_.makeImmutable();
        return entityId_;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return The count of entityId.
       */
      public int getEntityIdCount() {
        return entityId_.size();
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index of the element to return.
       * @return The entityId at the given index.
       */
      public java.lang.String getEntityId(int index) {
        return entityId_.get(index);
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the entityId at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes(int index) {
        return entityId_.getByteString(index);
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index to set the value at.
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param value The entityId to add.
       * @return This builder for chaining.
       */
      public Builder addEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param values The entityId to add.
       * @return This builder for chaining.
       */
      public Builder addAllEntityId(
          java.lang.Iterable<java.lang.String> values) {
        ensureEntityIdIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, entityId_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param value The bytes of the entityId to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:EntitiesStarted)
    }

    // @@protoc_insertion_point(class_scope:EntitiesStarted)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<EntitiesStarted>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<EntitiesStarted>() {
      @java.lang.Override
      public EntitiesStarted 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<EntitiesStarted> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStarted getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntityStoppedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:EntityStopped)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    boolean hasEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    java.lang.String getEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes();
  }
  /**
   * <pre>
   * not written anymore but kept for backwards compatibility
   * </pre>
   *
   * Protobuf type {@code EntityStopped}
   */
  public static final class EntityStopped extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:EntityStopped)
      EntityStoppedOrBuilder {
  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= */ "",
        "EntityStopped");
    }
    // Use EntityStopped.newBuilder() to construct.
    private EntityStopped(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private EntityStopped() {
      entityId_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.Builder.class);
    }

    private int bitField0_;
    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object entityId_ = "";
    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    @java.lang.Override
    public boolean hasEntityId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    @java.lang.Override
    public java.lang.String getEntityId() {
      java.lang.Object ref = entityId_;
      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()) {
          entityId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes() {
      java.lang.Object ref = entityId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        entityId_ = 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 (!hasEntityId()) {
        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, entityId_);
      }
      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, entityId_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped) obj;

      if (hasEntityId() != other.hasEntityId()) return false;
      if (hasEntityId()) {
        if (!getEntityId()
            .equals(other.getEntityId())) 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 (hasEntityId()) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped 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>
     * not written anymore but kept for backwards compatibility
     * </pre>
     *
     * Protobuf type {@code EntityStopped}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:EntityStopped)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStoppedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.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;
        entityId_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntityStopped_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.entityId_ = entityId_;
          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.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped.getDefaultInstance()) return this;
        if (other.hasEntityId()) {
          entityId_ = other.entityId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEntityId()) {
          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: {
                entityId_ = 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 entityId_ = "";
      /**
       * <code>required string entityId = 1;</code>
       * @return Whether the entityId field is set.
       */
      public boolean hasEntityId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The entityId.
       */
      public java.lang.String getEntityId() {
        java.lang.Object ref = entityId_;
        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()) {
            entityId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The bytes for entityId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes() {
        java.lang.Object ref = entityId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ = getDefaultInstance().getEntityId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The bytes for entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:EntityStopped)
    }

    // @@protoc_insertion_point(class_scope:EntityStopped)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<EntityStopped>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<EntityStopped>() {
      @java.lang.Override
      public EntityStopped 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<EntityStopped> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntityStopped getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EntitiesStoppedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:EntitiesStopped)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string entityId = 1;</code>
     * @return A list containing the entityId.
     */
    java.util.List<java.lang.String>
        getEntityIdList();
    /**
     * <code>repeated string entityId = 1;</code>
     * @return The count of entityId.
     */
    int getEntityIdCount();
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the element to return.
     * @return The entityId at the given index.
     */
    java.lang.String getEntityId(int index);
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityId at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes(int index);
  }
  /**
   * Protobuf type {@code EntitiesStopped}
   */
  public static final class EntitiesStopped extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:EntitiesStopped)
      EntitiesStoppedOrBuilder {
  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= */ "",
        "EntitiesStopped");
    }
    // Use EntitiesStopped.newBuilder() to construct.
    private EntitiesStopped(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private EntitiesStopped() {
      entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStopped_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStopped_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.Builder.class);
    }

    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityId_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string entityId = 1;</code>
     * @return A list containing the entityId.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getEntityIdList() {
      return entityId_;
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @return The count of entityId.
     */
    public int getEntityIdCount() {
      return entityId_.size();
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the element to return.
     * @return The entityId at the given index.
     */
    public java.lang.String getEntityId(int index) {
      return entityId_.get(index);
    }
    /**
     * <code>repeated string entityId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityId at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes(int index) {
      return entityId_.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 < entityId_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, entityId_.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 < entityId_.size(); i++) {
          dataSize += computeStringSizeNoTag(entityId_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEntityIdList().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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped) obj;

      if (!getEntityIdList()
          .equals(other.getEntityIdList())) 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 (getEntityIdCount() > 0) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityIdList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped 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;
    }
    /**
     * Protobuf type {@code EntitiesStopped}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:EntitiesStopped)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStoppedOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStopped_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStopped_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.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;
        entityId_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_EntitiesStopped_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          entityId_.makeImmutable();
          result.entityId_ = entityId_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped.getDefaultInstance()) return this;
        if (!other.entityId_.isEmpty()) {
          if (entityId_.isEmpty()) {
            entityId_ = other.entityId_;
            bitField0_ |= 0x00000001;
          } else {
            ensureEntityIdIsMutable();
            entityId_.addAll(other.entityId_);
          }
          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();
                ensureEntityIdIsMutable();
                entityId_.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 entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureEntityIdIsMutable() {
        if (!entityId_.isModifiable()) {
          entityId_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(entityId_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return A list containing the entityId.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getEntityIdList() {
        entityId_.makeImmutable();
        return entityId_;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return The count of entityId.
       */
      public int getEntityIdCount() {
        return entityId_.size();
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index of the element to return.
       * @return The entityId at the given index.
       */
      public java.lang.String getEntityId(int index) {
        return entityId_.get(index);
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the entityId at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes(int index) {
        return entityId_.getByteString(index);
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param index The index to set the value at.
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param value The entityId to add.
       * @return This builder for chaining.
       */
      public Builder addEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param values The entityId to add.
       * @return This builder for chaining.
       */
      public Builder addAllEntityId(
          java.lang.Iterable<java.lang.String> values) {
        ensureEntityIdIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, entityId_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityId = 1;</code>
       * @param value The bytes of the entityId to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdIsMutable();
        entityId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:EntitiesStopped)
    }

    // @@protoc_insertion_point(class_scope:EntitiesStopped)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<EntitiesStopped>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<EntitiesStopped>() {
      @java.lang.Override
      public EntitiesStopped 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<EntitiesStopped> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.EntitiesStopped getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardStatsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardStats)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>required int32 entityCount = 2;</code>
     * @return Whether the entityCount field is set.
     */
    boolean hasEntityCount();
    /**
     * <code>required int32 entityCount = 2;</code>
     * @return The entityCount.
     */
    int getEntityCount();
  }
  /**
   * Protobuf type {@code ShardStats}
   */
  public static final class ShardStats extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardStats)
      ShardStatsOrBuilder {
  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= */ "",
        "ShardStats");
    }
    // Use ShardStats.newBuilder() to construct.
    private ShardStats(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardStats() {
      shard_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardStats_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardStats_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.Builder.class);
    }

    private int bitField0_;
    public static final int SHARD_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shard_ = "";
    /**
     * <code>required string shard = 1;</code>
     * @return Whether the shard field is set.
     */
    @java.lang.Override
    public boolean hasShard() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The shard.
     */
    @java.lang.Override
    public java.lang.String getShard() {
      java.lang.Object ref = shard_;
      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()) {
          shard_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shard = 1;</code>
     * @return The bytes for shard.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardBytes() {
      java.lang.Object ref = shard_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shard_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ENTITYCOUNT_FIELD_NUMBER = 2;
    private int entityCount_ = 0;
    /**
     * <code>required int32 entityCount = 2;</code>
     * @return Whether the entityCount field is set.
     */
    @java.lang.Override
    public boolean hasEntityCount() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 entityCount = 2;</code>
     * @return The entityCount.
     */
    @java.lang.Override
    public int getEntityCount() {
      return entityCount_;
    }

    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 (!hasShard()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasEntityCount()) {
        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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, entityCount_);
      }
      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, shard_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, entityCount_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats) obj;

      if (hasShard() != other.hasShard()) return false;
      if (hasShard()) {
        if (!getShard()
            .equals(other.getShard())) return false;
      }
      if (hasEntityCount() != other.hasEntityCount()) return false;
      if (hasEntityCount()) {
        if (getEntityCount()
            != other.getEntityCount()) 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 (hasShard()) {
        hash = (37 * hash) + SHARD_FIELD_NUMBER;
        hash = (53 * hash) + getShard().hashCode();
      }
      if (hasEntityCount()) {
        hash = (37 * hash) + ENTITYCOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getEntityCount();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats 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;
    }
    /**
     * Protobuf type {@code ShardStats}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardStats)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStatsOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardStats_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardStats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.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;
        shard_ = "";
        entityCount_ = 0;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardStats_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shard_ = shard_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.entityCount_ = entityCount_;
          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.sharding.protobuf.msg.ClusterShardingMessages.ShardStats) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats.getDefaultInstance()) return this;
        if (other.hasShard()) {
          shard_ = other.shard_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasEntityCount()) {
          setEntityCount(other.getEntityCount());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShard()) {
          return false;
        }
        if (!hasEntityCount()) {
          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: {
                shard_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                entityCount_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 shard_ = "";
      /**
       * <code>required string shard = 1;</code>
       * @return Whether the shard field is set.
       */
      public boolean hasShard() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The shard.
       */
      public java.lang.String getShard() {
        java.lang.Object ref = shard_;
        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()) {
            shard_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @return The bytes for shard.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardBytes() {
        java.lang.Object ref = shard_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shard_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The shard to set.
       * @return This builder for chaining.
       */
      public Builder setShard(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShard() {
        shard_ = getDefaultInstance().getShard();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shard = 1;</code>
       * @param value The bytes for shard to set.
       * @return This builder for chaining.
       */
      public Builder setShardBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shard_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private int entityCount_ ;
      /**
       * <code>required int32 entityCount = 2;</code>
       * @return Whether the entityCount field is set.
       */
      @java.lang.Override
      public boolean hasEntityCount() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 entityCount = 2;</code>
       * @return The entityCount.
       */
      @java.lang.Override
      public int getEntityCount() {
        return entityCount_;
      }
      /**
       * <code>required int32 entityCount = 2;</code>
       * @param value The entityCount to set.
       * @return This builder for chaining.
       */
      public Builder setEntityCount(int value) {

        entityCount_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 entityCount = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        entityCount_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardStats)
    }

    // @@protoc_insertion_point(class_scope:ShardStats)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardStats>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardStats>() {
      @java.lang.Override
      public ShardStats 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<ShardStats> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStats getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardRegionStatsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardRegionStats)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> 
        getStatsList();
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index);
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    int getStatsCount();
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> 
        getStatsOrBuilderList();
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
        int index);

    /**
     * <code>repeated string failed = 2;</code>
     * @return A list containing the failed.
     */
    java.util.List<java.lang.String>
        getFailedList();
    /**
     * <code>repeated string failed = 2;</code>
     * @return The count of failed.
     */
    int getFailedCount();
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the element to return.
     * @return The failed at the given index.
     */
    java.lang.String getFailed(int index);
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the failed at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getFailedBytes(int index);
  }
  /**
   * Protobuf type {@code ShardRegionStats}
   */
  public static final class ShardRegionStats extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardRegionStats)
      ShardRegionStatsOrBuilder {
  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= */ "",
        "ShardRegionStats");
    }
    // Use ShardRegionStats.newBuilder() to construct.
    private ShardRegionStats(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardRegionStats() {
      stats_ = java.util.Collections.emptyList();
      failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder.class);
    }

    public static final int STATS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> stats_;
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> getStatsList() {
      return stats_;
    }
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> 
        getStatsOrBuilderList() {
      return stats_;
    }
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    @java.lang.Override
    public int getStatsCount() {
      return stats_.size();
    }
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index) {
      return stats_.get(index);
    }
    /**
     * <code>repeated .MapFieldEntry stats = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
        int index) {
      return stats_.get(index);
    }

    public static final int FAILED_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList failed_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string failed = 2;</code>
     * @return A list containing the failed.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getFailedList() {
      return failed_;
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @return The count of failed.
     */
    public int getFailedCount() {
      return failed_.size();
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the element to return.
     * @return The failed at the given index.
     */
    public java.lang.String getFailed(int index) {
      return failed_.get(index);
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the failed at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getFailedBytes(int index) {
      return failed_.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 < stats_.size(); i++) {
        output.writeMessage(1, stats_.get(i));
      }
      for (int i = 0; i < failed_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, failed_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < stats_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, stats_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < failed_.size(); i++) {
          dataSize += computeStringSizeNoTag(failed_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getFailedList().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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats) obj;

      if (!getStatsList()
          .equals(other.getStatsList())) return false;
      if (!getFailedList()
          .equals(other.getFailedList())) 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 (getStatsCount() > 0) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStatsList().hashCode();
      }
      if (getFailedCount() > 0) {
        hash = (37 * hash) + FAILED_FIELD_NUMBER;
        hash = (53 * hash) + getFailedList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats 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;
    }
    /**
     * Protobuf type {@code ShardRegionStats}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardRegionStats)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.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;
        if (statsBuilder_ == null) {
          stats_ = java.util.Collections.emptyList();
        } else {
          stats_ = null;
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        failed_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardRegionStats_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result) {
        if (statsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            stats_ = java.util.Collections.unmodifiableList(stats_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.stats_ = stats_;
        } else {
          result.stats_ = statsBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          failed_.makeImmutable();
          result.failed_ = failed_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance()) return this;
        if (statsBuilder_ == null) {
          if (!other.stats_.isEmpty()) {
            if (stats_.isEmpty()) {
              stats_ = other.stats_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureStatsIsMutable();
              stats_.addAll(other.stats_);
            }
            onChanged();
          }
        } else {
          if (!other.stats_.isEmpty()) {
            if (statsBuilder_.isEmpty()) {
              statsBuilder_.dispose();
              statsBuilder_ = null;
              stats_ = other.stats_;
              bitField0_ = (bitField0_ & ~0x00000001);
              statsBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetStatsFieldBuilder() : null;
            } else {
              statsBuilder_.addAllMessages(other.stats_);
            }
          }
        }
        if (!other.failed_.isEmpty()) {
          if (failed_.isEmpty()) {
            failed_ = other.failed_;
            bitField0_ |= 0x00000002;
          } else {
            ensureFailedIsMutable();
            failed_.addAll(other.failed_);
          }
          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.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.parser(),
                        extensionRegistry);
                if (statsBuilder_ == null) {
                  ensureStatsIsMutable();
                  stats_.add(m);
                } else {
                  statsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureFailedIsMutable();
                failed_.add(bs);
                break;
              } // case 18
              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.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> stats_ =
        java.util.Collections.emptyList();
      private void ensureStatsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          stats_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry>(stats_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> statsBuilder_;

      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> getStatsList() {
        if (statsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(stats_);
        } else {
          return statsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public int getStatsCount() {
        if (statsBuilder_ == null) {
          return stats_.size();
        } else {
          return statsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getStats(int index) {
        if (statsBuilder_ == null) {
          return stats_.get(index);
        } else {
          return statsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder setStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.set(index, value);
          onChanged();
        } else {
          statsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder setStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.set(index, builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder addStats(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.add(value);
          onChanged();
        } else {
          statsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder addStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.add(index, value);
          onChanged();
        } else {
          statsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder addStats(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.add(builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder addStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.add(index, builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder addAllStats(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry> values) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, stats_);
          onChanged();
        } else {
          statsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder clearStats() {
        if (statsBuilder_ == null) {
          stats_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          statsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public Builder removeStats(int index) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.remove(index);
          onChanged();
        } else {
          statsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder getStatsBuilder(
          int index) {
        return internalGetStatsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder getStatsOrBuilder(
          int index) {
        if (statsBuilder_ == null) {
          return stats_.get(index);  } else {
          return statsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> 
           getStatsOrBuilderList() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(stats_);
        }
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder addStatsBuilder() {
        return internalGetStatsFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder addStatsBuilder(
          int index) {
        return internalGetStatsFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .MapFieldEntry stats = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder> 
           getStatsBuilderList() {
        return internalGetStatsFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder> 
          internalGetStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder>(
                  stats_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureFailedIsMutable() {
        if (!failed_.isModifiable()) {
          failed_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(failed_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return A list containing the failed.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getFailedList() {
        failed_.makeImmutable();
        return failed_;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return The count of failed.
       */
      public int getFailedCount() {
        return failed_.size();
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index of the element to return.
       * @return The failed at the given index.
       */
      public java.lang.String getFailed(int index) {
        return failed_.get(index);
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the failed at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getFailedBytes(int index) {
        return failed_.getByteString(index);
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index to set the value at.
       * @param value The failed to set.
       * @return This builder for chaining.
       */
      public Builder setFailed(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param value The failed to add.
       * @return This builder for chaining.
       */
      public Builder addFailed(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param values The failed to add.
       * @return This builder for chaining.
       */
      public Builder addAllFailed(
          java.lang.Iterable<java.lang.String> values) {
        ensureFailedIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, failed_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFailed() {
        failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param value The bytes of the failed to add.
       * @return This builder for chaining.
       */
      public Builder addFailedBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardRegionStats)
    }

    // @@protoc_insertion_point(class_scope:ShardRegionStats)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardRegionStats>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardRegionStats>() {
      @java.lang.Override
      public ShardRegionStats 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<ShardRegionStats> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MapFieldEntryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:MapFieldEntry)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>optional string key = 1;</code>
     * @return Whether the key field is set.
     */
    boolean hasKey();
    /**
     * <code>optional string key = 1;</code>
     * @return The key.
     */
    java.lang.String getKey();
    /**
     * <code>optional string key = 1;</code>
     * @return The bytes for key.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getKeyBytes();

    /**
     * <code>optional int32 value = 2;</code>
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * <code>optional int32 value = 2;</code>
     * @return The value.
     */
    int getValue();
  }
  /**
   * Protobuf type {@code MapFieldEntry}
   */
  public static final class MapFieldEntry extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:MapFieldEntry)
      MapFieldEntryOrBuilder {
  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= */ "",
        "MapFieldEntry");
    }
    // Use MapFieldEntry.newBuilder() to construct.
    private MapFieldEntry(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private MapFieldEntry() {
      key_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder.class);
    }

    private int bitField0_;
    public static final int KEY_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object key_ = "";
    /**
     * <code>optional string key = 1;</code>
     * @return Whether the key field is set.
     */
    @java.lang.Override
    public boolean hasKey() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string key = 1;</code>
     * @return The key.
     */
    @java.lang.Override
    public java.lang.String getKey() {
      java.lang.Object ref = key_;
      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()) {
          key_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string key = 1;</code>
     * @return The bytes for key.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getKeyBytes() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        key_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int VALUE_FIELD_NUMBER = 2;
    private int value_ = 0;
    /**
     * <code>optional int32 value = 2;</code>
     * @return Whether the value field is set.
     */
    @java.lang.Override
    public boolean hasValue() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional int32 value = 2;</code>
     * @return The value.
     */
    @java.lang.Override
    public int getValue() {
      return value_;
    }

    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 {
      if (((bitField0_ & 0x00000001) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, key_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, value_);
      }
      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, key_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, value_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry) obj;

      if (hasKey() != other.hasKey()) return false;
      if (hasKey()) {
        if (!getKey()
            .equals(other.getKey())) return false;
      }
      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (getValue()
            != other.getValue()) 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 (hasKey()) {
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry 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;
    }
    /**
     * Protobuf type {@code MapFieldEntry}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:MapFieldEntry)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntryOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.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;
        key_ = "";
        value_ = 0;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_MapFieldEntry_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.key_ = key_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.value_ = value_;
          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.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry.getDefaultInstance()) return this;
        if (other.hasKey()) {
          key_ = other.key_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        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: {
                key_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                value_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 key_ = "";
      /**
       * <code>optional string key = 1;</code>
       * @return Whether the key field is set.
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string key = 1;</code>
       * @return The key.
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string key = 1;</code>
       * @return The bytes for key.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string key = 1;</code>
       * @param value The key to set.
       * @return This builder for chaining.
       */
      public Builder setKey(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        key_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>optional string key = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearKey() {
        key_ = getDefaultInstance().getKey();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>optional string key = 1;</code>
       * @param value The bytes for key to set.
       * @return This builder for chaining.
       */
      public Builder setKeyBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        key_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private int value_ ;
      /**
       * <code>optional int32 value = 2;</code>
       * @return Whether the value field is set.
       */
      @java.lang.Override
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional int32 value = 2;</code>
       * @return The value.
       */
      @java.lang.Override
      public int getValue() {
        return value_;
      }
      /**
       * <code>optional int32 value = 2;</code>
       * @param value The value to set.
       * @return This builder for chaining.
       */
      public Builder setValue(int value) {

        value_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 value = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000002);
        value_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:MapFieldEntry)
    }

    // @@protoc_insertion_point(class_scope:MapFieldEntry)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<MapFieldEntry>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<MapFieldEntry>() {
      @java.lang.Override
      public MapFieldEntry 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<MapFieldEntry> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.MapFieldEntry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetClusterShardingStatsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:GetClusterShardingStats)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required int64 timeoutNanos = 1;</code>
     * @return Whether the timeoutNanos field is set.
     */
    boolean hasTimeoutNanos();
    /**
     * <code>required int64 timeoutNanos = 1;</code>
     * @return The timeoutNanos.
     */
    long getTimeoutNanos();
  }
  /**
   * Protobuf type {@code GetClusterShardingStats}
   */
  public static final class GetClusterShardingStats extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:GetClusterShardingStats)
      GetClusterShardingStatsOrBuilder {
  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= */ "",
        "GetClusterShardingStats");
    }
    // Use GetClusterShardingStats.newBuilder() to construct.
    private GetClusterShardingStats(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private GetClusterShardingStats() {
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_GetClusterShardingStats_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_GetClusterShardingStats_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.Builder.class);
    }

    private int bitField0_;
    public static final int TIMEOUTNANOS_FIELD_NUMBER = 1;
    private long timeoutNanos_ = 0L;
    /**
     * <code>required int64 timeoutNanos = 1;</code>
     * @return Whether the timeoutNanos field is set.
     */
    @java.lang.Override
    public boolean hasTimeoutNanos() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required int64 timeoutNanos = 1;</code>
     * @return The timeoutNanos.
     */
    @java.lang.Override
    public long getTimeoutNanos() {
      return timeoutNanos_;
    }

    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 (!hasTimeoutNanos()) {
        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, timeoutNanos_);
      }
      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, timeoutNanos_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats) obj;

      if (hasTimeoutNanos() != other.hasTimeoutNanos()) return false;
      if (hasTimeoutNanos()) {
        if (getTimeoutNanos()
            != other.getTimeoutNanos()) 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 (hasTimeoutNanos()) {
        hash = (37 * hash) + TIMEOUTNANOS_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashLong(
            getTimeoutNanos());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats 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;
    }
    /**
     * Protobuf type {@code GetClusterShardingStats}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:GetClusterShardingStats)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStatsOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_GetClusterShardingStats_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_GetClusterShardingStats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.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;
        timeoutNanos_ = 0L;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_GetClusterShardingStats_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.timeoutNanos_ = timeoutNanos_;
          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.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats.getDefaultInstance()) return this;
        if (other.hasTimeoutNanos()) {
          setTimeoutNanos(other.getTimeoutNanos());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasTimeoutNanos()) {
          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: {
                timeoutNanos_ = 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 timeoutNanos_ ;
      /**
       * <code>required int64 timeoutNanos = 1;</code>
       * @return Whether the timeoutNanos field is set.
       */
      @java.lang.Override
      public boolean hasTimeoutNanos() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 timeoutNanos = 1;</code>
       * @return The timeoutNanos.
       */
      @java.lang.Override
      public long getTimeoutNanos() {
        return timeoutNanos_;
      }
      /**
       * <code>required int64 timeoutNanos = 1;</code>
       * @param value The timeoutNanos to set.
       * @return This builder for chaining.
       */
      public Builder setTimeoutNanos(long value) {

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

      // @@protoc_insertion_point(builder_scope:GetClusterShardingStats)
    }

    // @@protoc_insertion_point(class_scope:GetClusterShardingStats)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<GetClusterShardingStats>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<GetClusterShardingStats>() {
      @java.lang.Override
      public GetClusterShardingStats 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<GetClusterShardingStats> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.GetClusterShardingStats getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ClusterShardingStatsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ClusterShardingStats)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> 
        getStatsList();
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getStats(int index);
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    int getStatsCount();
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder> 
        getStatsOrBuilderList();
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder getStatsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code ClusterShardingStats}
   */
  public static final class ClusterShardingStats extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ClusterShardingStats)
      ClusterShardingStatsOrBuilder {
  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= */ "",
        "ClusterShardingStats");
    }
    // Use ClusterShardingStats.newBuilder() to construct.
    private ClusterShardingStats(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ClusterShardingStats() {
      stats_ = java.util.Collections.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStats_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStats_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.Builder.class);
    }

    public static final int STATS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> stats_;
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> getStatsList() {
      return stats_;
    }
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder> 
        getStatsOrBuilderList() {
      return stats_;
    }
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    @java.lang.Override
    public int getStatsCount() {
      return stats_.size();
    }
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getStats(int index) {
      return stats_.get(index);
    }
    /**
     * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder getStatsOrBuilder(
        int index) {
      return stats_.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;

      for (int i = 0; i < getStatsCount(); i++) {
        if (!getStats(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 {
      for (int i = 0; i < stats_.size(); i++) {
        output.writeMessage(1, stats_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < stats_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, stats_.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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats) obj;

      if (!getStatsList()
          .equals(other.getStatsList())) 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 (getStatsCount() > 0) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStatsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats 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;
    }
    /**
     * Protobuf type {@code ClusterShardingStats}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ClusterShardingStats)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStats_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.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;
        if (statsBuilder_ == null) {
          stats_ = java.util.Collections.emptyList();
        } else {
          stats_ = null;
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStats_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats result) {
        if (statsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            stats_ = java.util.Collections.unmodifiableList(stats_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.stats_ = stats_;
        } else {
          result.stats_ = statsBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats result) {
        int from_bitField0_ = bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats.getDefaultInstance()) return this;
        if (statsBuilder_ == null) {
          if (!other.stats_.isEmpty()) {
            if (stats_.isEmpty()) {
              stats_ = other.stats_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureStatsIsMutable();
              stats_.addAll(other.stats_);
            }
            onChanged();
          }
        } else {
          if (!other.stats_.isEmpty()) {
            if (statsBuilder_.isEmpty()) {
              statsBuilder_.dispose();
              statsBuilder_ = null;
              stats_ = other.stats_;
              bitField0_ = (bitField0_ & ~0x00000001);
              statsBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetStatsFieldBuilder() : null;
            } else {
              statsBuilder_.addAllMessages(other.stats_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getStatsCount(); i++) {
          if (!getStats(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 10: {
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.parser(),
                        extensionRegistry);
                if (statsBuilder_ == null) {
                  ensureStatsIsMutable();
                  stats_.add(m);
                } else {
                  statsBuilder_.addMessage(m);
                }
                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.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> stats_ =
        java.util.Collections.emptyList();
      private void ensureStatsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          stats_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry>(stats_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder> statsBuilder_;

      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> getStatsList() {
        if (statsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(stats_);
        } else {
          return statsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public int getStatsCount() {
        if (statsBuilder_ == null) {
          return stats_.size();
        } else {
          return statsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getStats(int index) {
        if (statsBuilder_ == null) {
          return stats_.get(index);
        } else {
          return statsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder setStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.set(index, value);
          onChanged();
        } else {
          statsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder setStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.set(index, builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder addStats(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.add(value);
          onChanged();
        } else {
          statsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder addStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStatsIsMutable();
          stats_.add(index, value);
          onChanged();
        } else {
          statsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder addStats(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.add(builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder addStats(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder builderForValue) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.add(index, builderForValue.build());
          onChanged();
        } else {
          statsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder addAllStats(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry> values) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, stats_);
          onChanged();
        } else {
          statsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder clearStats() {
        if (statsBuilder_ == null) {
          stats_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          statsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public Builder removeStats(int index) {
        if (statsBuilder_ == null) {
          ensureStatsIsMutable();
          stats_.remove(index);
          onChanged();
        } else {
          statsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder getStatsBuilder(
          int index) {
        return internalGetStatsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder getStatsOrBuilder(
          int index) {
        if (statsBuilder_ == null) {
          return stats_.get(index);  } else {
          return statsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder> 
           getStatsOrBuilderList() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(stats_);
        }
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder addStatsBuilder() {
        return internalGetStatsFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder addStatsBuilder(
          int index) {
        return internalGetStatsFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .ClusterShardingStatsEntry stats = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder> 
           getStatsBuilderList() {
        return internalGetStatsFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder> 
          internalGetStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder>(
                  stats_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:ClusterShardingStats)
    }

    // @@protoc_insertion_point(class_scope:ClusterShardingStats)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ClusterShardingStats>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ClusterShardingStats>() {
      @java.lang.Override
      public ClusterShardingStats 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<ClusterShardingStats> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStats getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ClusterShardingStatsEntryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ClusterShardingStatsEntry)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .Address address = 1;</code>
     * @return Whether the address field is set.
     */
    boolean hasAddress();
    /**
     * <code>required .Address address = 1;</code>
     * @return The address.
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getAddress();
    /**
     * <code>required .Address address = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getAddressOrBuilder();

    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     * @return Whether the stats field is set.
     */
    boolean hasStats();
    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     * @return The stats.
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getStats();
    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder getStatsOrBuilder();
  }
  /**
   * Protobuf type {@code ClusterShardingStatsEntry}
   */
  public static final class ClusterShardingStatsEntry extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ClusterShardingStatsEntry)
      ClusterShardingStatsEntryOrBuilder {
  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= */ "",
        "ClusterShardingStatsEntry");
    }
    // Use ClusterShardingStatsEntry.newBuilder() to construct.
    private ClusterShardingStatsEntry(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ClusterShardingStatsEntry() {
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStatsEntry_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStatsEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder.class);
    }

    private int bitField0_;
    public static final int ADDRESS_FIELD_NUMBER = 1;
    private org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address address_;
    /**
     * <code>required .Address address = 1;</code>
     * @return Whether the address field is set.
     */
    @java.lang.Override
    public boolean hasAddress() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .Address address = 1;</code>
     * @return The address.
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getAddress() {
      return address_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance() : address_;
    }
    /**
     * <code>required .Address address = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getAddressOrBuilder() {
      return address_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance() : address_;
    }

    public static final int STATS_FIELD_NUMBER = 2;
    private org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats stats_;
    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     * @return Whether the stats field is set.
     */
    @java.lang.Override
    public boolean hasStats() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     * @return The stats.
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getStats() {
      return stats_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance() : stats_;
    }
    /**
     * <code>required .ShardRegionStats stats = 2;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder getStatsOrBuilder() {
      return stats_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance() : stats_;
    }

    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 (!hasAddress()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasStats()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getAddress().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.writeMessage(1, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getStats());
      }
      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
          .computeMessageSize(1, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getStats());
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry) obj;

      if (hasAddress() != other.hasAddress()) return false;
      if (hasAddress()) {
        if (!getAddress()
            .equals(other.getAddress())) return false;
      }
      if (hasStats() != other.hasStats()) return false;
      if (hasStats()) {
        if (!getStats()
            .equals(other.getStats())) 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 (hasAddress()) {
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
      }
      if (hasStats()) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStats().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry 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;
    }
    /**
     * Protobuf type {@code ClusterShardingStatsEntry}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ClusterShardingStatsEntry)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntryOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStatsEntry_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStatsEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.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) {
          internalGetAddressFieldBuilder();
          internalGetStatsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        address_ = null;
        if (addressBuilder_ != null) {
          addressBuilder_.dispose();
          addressBuilder_ = null;
        }
        stats_ = null;
        if (statsBuilder_ != null) {
          statsBuilder_.dispose();
          statsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ClusterShardingStatsEntry_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.address_ = addressBuilder_ == null
              ? address_
              : addressBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.stats_ = statsBuilder_ == null
              ? stats_
              : statsBuilder_.build();
          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.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry.getDefaultInstance()) return this;
        if (other.hasAddress()) {
          mergeAddress(other.getAddress());
        }
        if (other.hasStats()) {
          mergeStats(other.getStats());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasAddress()) {
          return false;
        }
        if (!hasStats()) {
          return false;
        }
        if (!getAddress().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: {
                input.readMessage(
                    internalGetAddressFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    internalGetStatsFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address address_;
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> addressBuilder_;
      /**
       * <code>required .Address address = 1;</code>
       * @return Whether the address field is set.
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Address address = 1;</code>
       * @return The address.
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getAddress() {
        if (addressBuilder_ == null) {
          return address_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance() : address_;
        } else {
          return addressBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder setAddress(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address value) {
        if (addressBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          address_ = value;
        } else {
          addressBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder setAddress(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder builderForValue) {
        if (addressBuilder_ == null) {
          address_ = builderForValue.build();
        } else {
          addressBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder mergeAddress(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address value) {
        if (addressBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            address_ != null &&
            address_ != org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance()) {
            getAddressBuilder().mergeFrom(value);
          } else {
            address_ = value;
          }
        } else {
          addressBuilder_.mergeFrom(value);
        }
        if (address_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder clearAddress() {
        bitField0_ = (bitField0_ & ~0x00000001);
        address_ = null;
        if (addressBuilder_ != null) {
          addressBuilder_.dispose();
          addressBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder getAddressBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return internalGetAddressFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getAddressOrBuilder() {
        if (addressBuilder_ != null) {
          return addressBuilder_.getMessageOrBuilder();
        } else {
          return address_ == null ?
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance() : address_;
        }
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> 
          internalGetAddressFieldBuilder() {
        if (addressBuilder_ == null) {
          addressBuilder_ = new org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder>(
                  getAddress(),
                  getParentForChildren(),
                  isClean());
          address_ = null;
        }
        return addressBuilder_;
      }

      private org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats stats_;
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder> statsBuilder_;
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       * @return Whether the stats field is set.
       */
      public boolean hasStats() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       * @return The stats.
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats getStats() {
        if (statsBuilder_ == null) {
          return stats_ == null ? org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance() : stats_;
        } else {
          return statsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public Builder setStats(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stats_ = value;
        } else {
          statsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public Builder setStats(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder builderForValue) {
        if (statsBuilder_ == null) {
          stats_ = builderForValue.build();
        } else {
          statsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public Builder mergeStats(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats value) {
        if (statsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            stats_ != null &&
            stats_ != org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance()) {
            getStatsBuilder().mergeFrom(value);
          } else {
            stats_ = value;
          }
        } else {
          statsBuilder_.mergeFrom(value);
        }
        if (stats_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public Builder clearStats() {
        bitField0_ = (bitField0_ & ~0x00000002);
        stats_ = null;
        if (statsBuilder_ != null) {
          statsBuilder_.dispose();
          statsBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder getStatsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return internalGetStatsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder getStatsOrBuilder() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilder();
        } else {
          return stats_ == null ?
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.getDefaultInstance() : stats_;
        }
      }
      /**
       * <code>required .ShardRegionStats stats = 2;</code>
       */
      private org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder> 
          internalGetStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new org.apache.pekko.protobufv3.internal.SingleFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStats.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardRegionStatsOrBuilder>(
                  getStats(),
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:ClusterShardingStatsEntry)
    }

    // @@protoc_insertion_point(class_scope:ClusterShardingStatsEntry)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ClusterShardingStatsEntry>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ClusterShardingStatsEntry>() {
      @java.lang.Override
      public ClusterShardingStatsEntry 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<ClusterShardingStatsEntry> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ClusterShardingStatsEntry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CurrentRegionsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CurrentRegions)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .Address regions = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> 
        getRegionsList();
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getRegions(int index);
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    int getRegionsCount();
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> 
        getRegionsOrBuilderList();
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getRegionsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CurrentRegions}
   */
  public static final class CurrentRegions extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CurrentRegions)
      CurrentRegionsOrBuilder {
  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= */ "",
        "CurrentRegions");
    }
    // Use CurrentRegions.newBuilder() to construct.
    private CurrentRegions(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CurrentRegions() {
      regions_ = java.util.Collections.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentRegions_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentRegions_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.Builder.class);
    }

    public static final int REGIONS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> regions_;
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> getRegionsList() {
      return regions_;
    }
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> 
        getRegionsOrBuilderList() {
      return regions_;
    }
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    @java.lang.Override
    public int getRegionsCount() {
      return regions_.size();
    }
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getRegions(int index) {
      return regions_.get(index);
    }
    /**
     * <code>repeated .Address regions = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getRegionsOrBuilder(
        int index) {
      return regions_.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;

      for (int i = 0; i < getRegionsCount(); i++) {
        if (!getRegions(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 {
      for (int i = 0; i < regions_.size(); i++) {
        output.writeMessage(1, regions_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < regions_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, regions_.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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions) obj;

      if (!getRegionsList()
          .equals(other.getRegionsList())) 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 (getRegionsCount() > 0) {
        hash = (37 * hash) + REGIONS_FIELD_NUMBER;
        hash = (53 * hash) + getRegionsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions 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;
    }
    /**
     * Protobuf type {@code CurrentRegions}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CurrentRegions)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegionsOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentRegions_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentRegions_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.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;
        if (regionsBuilder_ == null) {
          regions_ = java.util.Collections.emptyList();
        } else {
          regions_ = null;
          regionsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentRegions_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions result) {
        if (regionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            regions_ = java.util.Collections.unmodifiableList(regions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.regions_ = regions_;
        } else {
          result.regions_ = regionsBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions result) {
        int from_bitField0_ = bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions.getDefaultInstance()) return this;
        if (regionsBuilder_ == null) {
          if (!other.regions_.isEmpty()) {
            if (regions_.isEmpty()) {
              regions_ = other.regions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRegionsIsMutable();
              regions_.addAll(other.regions_);
            }
            onChanged();
          }
        } else {
          if (!other.regions_.isEmpty()) {
            if (regionsBuilder_.isEmpty()) {
              regionsBuilder_.dispose();
              regionsBuilder_ = null;
              regions_ = other.regions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              regionsBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetRegionsFieldBuilder() : null;
            } else {
              regionsBuilder_.addAllMessages(other.regions_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getRegionsCount(); i++) {
          if (!getRegions(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 10: {
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.parser(),
                        extensionRegistry);
                if (regionsBuilder_ == null) {
                  ensureRegionsIsMutable();
                  regions_.add(m);
                } else {
                  regionsBuilder_.addMessage(m);
                }
                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.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> regions_ =
        java.util.Collections.emptyList();
      private void ensureRegionsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          regions_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address>(regions_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> regionsBuilder_;

      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> getRegionsList() {
        if (regionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(regions_);
        } else {
          return regionsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public int getRegionsCount() {
        if (regionsBuilder_ == null) {
          return regions_.size();
        } else {
          return regionsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getRegions(int index) {
        if (regionsBuilder_ == null) {
          return regions_.get(index);
        } else {
          return regionsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder setRegions(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address value) {
        if (regionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRegionsIsMutable();
          regions_.set(index, value);
          onChanged();
        } else {
          regionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder setRegions(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder builderForValue) {
        if (regionsBuilder_ == null) {
          ensureRegionsIsMutable();
          regions_.set(index, builderForValue.build());
          onChanged();
        } else {
          regionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder addRegions(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address value) {
        if (regionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRegionsIsMutable();
          regions_.add(value);
          onChanged();
        } else {
          regionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder addRegions(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address value) {
        if (regionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRegionsIsMutable();
          regions_.add(index, value);
          onChanged();
        } else {
          regionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder addRegions(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder builderForValue) {
        if (regionsBuilder_ == null) {
          ensureRegionsIsMutable();
          regions_.add(builderForValue.build());
          onChanged();
        } else {
          regionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder addRegions(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder builderForValue) {
        if (regionsBuilder_ == null) {
          ensureRegionsIsMutable();
          regions_.add(index, builderForValue.build());
          onChanged();
        } else {
          regionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder addAllRegions(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address> values) {
        if (regionsBuilder_ == null) {
          ensureRegionsIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, regions_);
          onChanged();
        } else {
          regionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder clearRegions() {
        if (regionsBuilder_ == null) {
          regions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          regionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public Builder removeRegions(int index) {
        if (regionsBuilder_ == null) {
          ensureRegionsIsMutable();
          regions_.remove(index);
          onChanged();
        } else {
          regionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder getRegionsBuilder(
          int index) {
        return internalGetRegionsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder getRegionsOrBuilder(
          int index) {
        if (regionsBuilder_ == null) {
          return regions_.get(index);  } else {
          return regionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> 
           getRegionsOrBuilderList() {
        if (regionsBuilder_ != null) {
          return regionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(regions_);
        }
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder addRegionsBuilder() {
        return internalGetRegionsFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance());
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder addRegionsBuilder(
          int index) {
        return internalGetRegionsFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance());
      }
      /**
       * <code>repeated .Address regions = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder> 
           getRegionsBuilderList() {
        return internalGetRegionsFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder> 
          internalGetRegionsFieldBuilder() {
        if (regionsBuilder_ == null) {
          regionsBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder>(
                  regions_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          regions_ = null;
        }
        return regionsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CurrentRegions)
    }

    // @@protoc_insertion_point(class_scope:CurrentRegions)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<CurrentRegions>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<CurrentRegions>() {
      @java.lang.Override
      public CurrentRegions 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<CurrentRegions> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentRegions getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Address)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

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

    /**
     * <code>required string hostname = 3;</code>
     * @return Whether the hostname field is set.
     */
    boolean hasHostname();
    /**
     * <code>required string hostname = 3;</code>
     * @return The hostname.
     */
    java.lang.String getHostname();
    /**
     * <code>required string hostname = 3;</code>
     * @return The bytes for hostname.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getHostnameBytes();

    /**
     * <code>required uint32 port = 4;</code>
     * @return Whether the port field is set.
     */
    boolean hasPort();
    /**
     * <code>required uint32 port = 4;</code>
     * @return The port.
     */
    int getPort();
  }
  /**
   * <pre>
   * *
   * Defines a remote address.
   * </pre>
   *
   * Protobuf type {@code Address}
   */
  public static final class Address extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:Address)
      AddressOrBuilder {
  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= */ "",
        "Address");
    }
    // Use Address.newBuilder() to construct.
    private Address(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private Address() {
      protocol_ = "";
      system_ = "";
      hostname_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_Address_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_Address_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder.class);
    }

    private int bitField0_;
    public static final int PROTOCOL_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object protocol_ = "";
    /**
     * <code>required string protocol = 1;</code>
     * @return Whether the protocol field is set.
     */
    @java.lang.Override
    public boolean hasProtocol() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string protocol = 1;</code>
     * @return The protocol.
     */
    @java.lang.Override
    public java.lang.String getProtocol() {
      java.lang.Object ref = protocol_;
      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()) {
          protocol_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string protocol = 1;</code>
     * @return The bytes for protocol.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getProtocolBytes() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocol_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int SYSTEM_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object system_ = "";
    /**
     * <code>required string system = 2;</code>
     * @return Whether the system field is set.
     */
    @java.lang.Override
    public boolean hasSystem() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string system = 2;</code>
     * @return The system.
     */
    @java.lang.Override
    public java.lang.String getSystem() {
      java.lang.Object ref = system_;
      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()) {
          system_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string system = 2;</code>
     * @return The bytes for system.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getSystemBytes() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        system_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int HOSTNAME_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object hostname_ = "";
    /**
     * <code>required string hostname = 3;</code>
     * @return Whether the hostname field is set.
     */
    @java.lang.Override
    public boolean hasHostname() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required string hostname = 3;</code>
     * @return The hostname.
     */
    @java.lang.Override
    public java.lang.String getHostname() {
      java.lang.Object ref = hostname_;
      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()) {
          hostname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string hostname = 3;</code>
     * @return The bytes for hostname.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getHostnameBytes() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hostname_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int PORT_FIELD_NUMBER = 4;
    private int port_ = 0;
    /**
     * <code>required uint32 port = 4;</code>
     * @return Whether the port field is set.
     */
    @java.lang.Override
    public boolean hasPort() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required uint32 port = 4;</code>
     * @return The port.
     */
    @java.lang.Override
    public int getPort() {
      return port_;
    }

    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 (!hasProtocol()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSystem()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHostname()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPort()) {
        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, protocol_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, system_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 3, hostname_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, port_);
      }
      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, protocol_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, system_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(3, hostname_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeUInt32Size(4, port_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.Address)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address) obj;

      if (hasProtocol() != other.hasProtocol()) return false;
      if (hasProtocol()) {
        if (!getProtocol()
            .equals(other.getProtocol())) return false;
      }
      if (hasSystem() != other.hasSystem()) return false;
      if (hasSystem()) {
        if (!getSystem()
            .equals(other.getSystem())) return false;
      }
      if (hasHostname() != other.hasHostname()) return false;
      if (hasHostname()) {
        if (!getHostname()
            .equals(other.getHostname())) return false;
      }
      if (hasPort() != other.hasPort()) return false;
      if (hasPort()) {
        if (getPort()
            != other.getPort()) 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 (hasProtocol()) {
        hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
        hash = (53 * hash) + getProtocol().hashCode();
      }
      if (hasSystem()) {
        hash = (37 * hash) + SYSTEM_FIELD_NUMBER;
        hash = (53 * hash) + getSystem().hashCode();
      }
      if (hasHostname()) {
        hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
        hash = (53 * hash) + getHostname().hashCode();
      }
      if (hasPort()) {
        hash = (37 * hash) + PORT_FIELD_NUMBER;
        hash = (53 * hash) + getPort();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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.sharding.protobuf.msg.ClusterShardingMessages.Address 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>
     * *
     * Defines a remote address.
     * </pre>
     *
     * Protobuf type {@code Address}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Address)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.AddressOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_Address_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.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;
        protocol_ = "";
        system_ = "";
        hostname_ = "";
        port_ = 0;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_Address_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.protocol_ = protocol_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.system_ = system_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.hostname_ = hostname_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.port_ = port_;
          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.sharding.protobuf.msg.ClusterShardingMessages.Address) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address.getDefaultInstance()) return this;
        if (other.hasProtocol()) {
          protocol_ = other.protocol_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasSystem()) {
          system_ = other.system_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasHostname()) {
          hostname_ = other.hostname_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasPort()) {
          setPort(other.getPort());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasProtocol()) {
          return false;
        }
        if (!hasSystem()) {
          return false;
        }
        if (!hasHostname()) {
          return false;
        }
        if (!hasPort()) {
          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: {
                protocol_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                system_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                hostname_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 32: {
                port_ = input.readUInt32();
                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 java.lang.Object protocol_ = "";
      /**
       * <code>required string protocol = 1;</code>
       * @return Whether the protocol field is set.
       */
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The protocol.
       */
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        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()) {
            protocol_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The bytes for protocol.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string protocol = 1;</code>
       * @param value The protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocol(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        protocol_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtocol() {
        protocol_ = getDefaultInstance().getProtocol();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string protocol = 1;</code>
       * @param value The bytes for protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocolBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        protocol_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object system_ = "";
      /**
       * <code>required string system = 2;</code>
       * @return Whether the system field is set.
       */
      public boolean hasSystem() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string system = 2;</code>
       * @return The system.
       */
      public java.lang.String getSystem() {
        java.lang.Object ref = system_;
        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()) {
            system_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string system = 2;</code>
       * @return The bytes for system.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getSystemBytes() {
        java.lang.Object ref = system_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          system_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string system = 2;</code>
       * @param value The system to set.
       * @return This builder for chaining.
       */
      public Builder setSystem(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        system_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSystem() {
        system_ = getDefaultInstance().getSystem();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 2;</code>
       * @param value The bytes for system to set.
       * @return This builder for chaining.
       */
      public Builder setSystemBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        system_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object hostname_ = "";
      /**
       * <code>required string hostname = 3;</code>
       * @return Whether the hostname field is set.
       */
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return The hostname.
       */
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        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()) {
            hostname_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return The bytes for hostname.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string hostname = 3;</code>
       * @param value The hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostname(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        hostname_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearHostname() {
        hostname_ = getDefaultInstance().getHostname();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 3;</code>
       * @param value The bytes for hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostnameBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        hostname_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private int port_ ;
      /**
       * <code>required uint32 port = 4;</code>
       * @return Whether the port field is set.
       */
      @java.lang.Override
      public boolean hasPort() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @return The port.
       */
      @java.lang.Override
      public int getPort() {
        return port_;
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @param value The port to set.
       * @return This builder for chaining.
       */
      public Builder setPort(int value) {

        port_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearPort() {
        bitField0_ = (bitField0_ & ~0x00000008);
        port_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Address)
    }

    // @@protoc_insertion_point(class_scope:Address)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<Address>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<Address>() {
      @java.lang.Override
      public Address 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<Address> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.Address getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StartEntityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:StartEntity)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    boolean hasEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    java.lang.String getEntityId();
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes();
  }
  /**
   * Protobuf type {@code StartEntity}
   */
  public static final class StartEntity extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:StartEntity)
      StartEntityOrBuilder {
  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= */ "",
        "StartEntity");
    }
    // Use StartEntity.newBuilder() to construct.
    private StartEntity(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private StartEntity() {
      entityId_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntity_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.Builder.class);
    }

    private int bitField0_;
    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object entityId_ = "";
    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    @java.lang.Override
    public boolean hasEntityId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    @java.lang.Override
    public java.lang.String getEntityId() {
      java.lang.Object ref = entityId_;
      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()) {
          entityId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes() {
      java.lang.Object ref = entityId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        entityId_ = 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 (!hasEntityId()) {
        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, entityId_);
      }
      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, entityId_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity) obj;

      if (hasEntityId() != other.hasEntityId()) return false;
      if (hasEntityId()) {
        if (!getEntityId()
            .equals(other.getEntityId())) 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 (hasEntityId()) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity 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;
    }
    /**
     * Protobuf type {@code StartEntity}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:StartEntity)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntity_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.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;
        entityId_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntity_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.entityId_ = entityId_;
          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.sharding.protobuf.msg.ClusterShardingMessages.StartEntity) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity.getDefaultInstance()) return this;
        if (other.hasEntityId()) {
          entityId_ = other.entityId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEntityId()) {
          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: {
                entityId_ = 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 entityId_ = "";
      /**
       * <code>required string entityId = 1;</code>
       * @return Whether the entityId field is set.
       */
      public boolean hasEntityId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The entityId.
       */
      public java.lang.String getEntityId() {
        java.lang.Object ref = entityId_;
        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()) {
            entityId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The bytes for entityId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes() {
        java.lang.Object ref = entityId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ = getDefaultInstance().getEntityId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The bytes for entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:StartEntity)
    }

    // @@protoc_insertion_point(class_scope:StartEntity)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<StartEntity>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<StartEntity>() {
      @java.lang.Override
      public StartEntity 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<StartEntity> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StartEntityAckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:StartEntityAck)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>required string shardId = 2;</code>
     * @return Whether the shardId field is set.
     */
    boolean hasShardId();
    /**
     * <code>required string shardId = 2;</code>
     * @return The shardId.
     */
    java.lang.String getShardId();
    /**
     * <code>required string shardId = 2;</code>
     * @return The bytes for shardId.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes();
  }
  /**
   * Protobuf type {@code StartEntityAck}
   */
  public static final class StartEntityAck extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:StartEntityAck)
      StartEntityAckOrBuilder {
  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= */ "",
        "StartEntityAck");
    }
    // Use StartEntityAck.newBuilder() to construct.
    private StartEntityAck(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private StartEntityAck() {
      entityId_ = "";
      shardId_ = "";
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntityAck_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntityAck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.Builder.class);
    }

    private int bitField0_;
    public static final int ENTITYID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object entityId_ = "";
    /**
     * <code>required string entityId = 1;</code>
     * @return Whether the entityId field is set.
     */
    @java.lang.Override
    public boolean hasEntityId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The entityId.
     */
    @java.lang.Override
    public java.lang.String getEntityId() {
      java.lang.Object ref = entityId_;
      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()) {
          entityId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string entityId = 1;</code>
     * @return The bytes for entityId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdBytes() {
      java.lang.Object ref = entityId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        entityId_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int SHARDID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shardId_ = "";
    /**
     * <code>required string shardId = 2;</code>
     * @return Whether the shardId field is set.
     */
    @java.lang.Override
    public boolean hasShardId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string shardId = 2;</code>
     * @return The shardId.
     */
    @java.lang.Override
    public java.lang.String getShardId() {
      java.lang.Object ref = shardId_;
      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()) {
          shardId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shardId = 2;</code>
     * @return The bytes for shardId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardId_ = 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 (!hasEntityId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasShardId()) {
        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, entityId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, shardId_);
      }
      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, entityId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += org.apache.pekko.protobufv3.internal.GeneratedMessage.computeStringSize(2, shardId_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck) obj;

      if (hasEntityId() != other.hasEntityId()) return false;
      if (hasEntityId()) {
        if (!getEntityId()
            .equals(other.getEntityId())) return false;
      }
      if (hasShardId() != other.hasShardId()) return false;
      if (hasShardId()) {
        if (!getShardId()
            .equals(other.getShardId())) 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 (hasEntityId()) {
        hash = (37 * hash) + ENTITYID_FIELD_NUMBER;
        hash = (53 * hash) + getEntityId().hashCode();
      }
      if (hasShardId()) {
        hash = (37 * hash) + SHARDID_FIELD_NUMBER;
        hash = (53 * hash) + getShardId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck 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;
    }
    /**
     * Protobuf type {@code StartEntityAck}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:StartEntityAck)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAckOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntityAck_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntityAck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.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;
        entityId_ = "";
        shardId_ = "";
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_StartEntityAck_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.entityId_ = entityId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.shardId_ = shardId_;
          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.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck.getDefaultInstance()) return this;
        if (other.hasEntityId()) {
          entityId_ = other.entityId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasShardId()) {
          shardId_ = other.shardId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEntityId()) {
          return false;
        }
        if (!hasShardId()) {
          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: {
                entityId_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                shardId_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 entityId_ = "";
      /**
       * <code>required string entityId = 1;</code>
       * @return Whether the entityId field is set.
       */
      public boolean hasEntityId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The entityId.
       */
      public java.lang.String getEntityId() {
        java.lang.Object ref = entityId_;
        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()) {
            entityId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return The bytes for entityId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdBytes() {
        java.lang.Object ref = entityId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          entityId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityId() {
        entityId_ = getDefaultInstance().getEntityId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string entityId = 1;</code>
       * @param value The bytes for entityId to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        entityId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object shardId_ = "";
      /**
       * <code>required string shardId = 2;</code>
       * @return Whether the shardId field is set.
       */
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string shardId = 2;</code>
       * @return The shardId.
       */
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        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()) {
            shardId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shardId = 2;</code>
       * @return The bytes for shardId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shardId = 2;</code>
       * @param value The shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearShardId() {
        shardId_ = getDefaultInstance().getShardId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 2;</code>
       * @param value The bytes for shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:StartEntityAck)
    }

    // @@protoc_insertion_point(class_scope:StartEntityAck)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<StartEntityAck>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<StartEntityAck>() {
      @java.lang.Override
      public StartEntityAck 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<StartEntityAck> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.StartEntityAck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CurrentShardStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CurrentShardState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>repeated string entityIds = 2;</code>
     * @return A list containing the entityIds.
     */
    java.util.List<java.lang.String>
        getEntityIdsList();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return The count of entityIds.
     */
    int getEntityIdsCount();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the element to return.
     * @return The entityIds at the given index.
     */
    java.lang.String getEntityIds(int index);
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityIds at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdsBytes(int index);
  }
  /**
   * Protobuf type {@code CurrentShardState}
   */
  public static final class CurrentShardState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CurrentShardState)
      CurrentShardStateOrBuilder {
  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= */ "",
        "CurrentShardState");
    }
    // Use CurrentShardState.newBuilder() to construct.
    private CurrentShardState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CurrentShardState() {
      shardId_ = "";
      entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.Builder.class);
    }

    private int bitField0_;
    public static final int SHARDID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shardId_ = "";
    /**
     * <code>required string shardId = 1;</code>
     * @return Whether the shardId field is set.
     */
    @java.lang.Override
    public boolean hasShardId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shardId = 1;</code>
     * @return The shardId.
     */
    @java.lang.Override
    public java.lang.String getShardId() {
      java.lang.Object ref = shardId_;
      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()) {
          shardId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shardId = 1;</code>
     * @return The bytes for shardId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardId_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ENTITYIDS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityIds_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return A list containing the entityIds.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getEntityIdsList() {
      return entityIds_;
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return The count of entityIds.
     */
    public int getEntityIdsCount() {
      return entityIds_.size();
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the element to return.
     * @return The entityIds at the given index.
     */
    public java.lang.String getEntityIds(int index) {
      return entityIds_.get(index);
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityIds at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdsBytes(int index) {
      return entityIds_.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;

      if (!hasShardId()) {
        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, shardId_);
      }
      for (int i = 0; i < entityIds_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, entityIds_.getRaw(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.GeneratedMessage.computeStringSize(1, shardId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < entityIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(entityIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEntityIdsList().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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState) obj;

      if (hasShardId() != other.hasShardId()) return false;
      if (hasShardId()) {
        if (!getShardId()
            .equals(other.getShardId())) return false;
      }
      if (!getEntityIdsList()
          .equals(other.getEntityIdsList())) 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 (hasShardId()) {
        hash = (37 * hash) + SHARDID_FIELD_NUMBER;
        hash = (53 * hash) + getShardId().hashCode();
      }
      if (getEntityIdsCount() > 0) {
        hash = (37 * hash) + ENTITYIDS_FIELD_NUMBER;
        hash = (53 * hash) + getEntityIdsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState 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;
    }
    /**
     * Protobuf type {@code CurrentShardState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CurrentShardState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.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;
        shardId_ = "";
        entityIds_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shardId_ = shardId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          entityIds_.makeImmutable();
          result.entityIds_ = entityIds_;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState.getDefaultInstance()) return this;
        if (other.hasShardId()) {
          shardId_ = other.shardId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (!other.entityIds_.isEmpty()) {
          if (entityIds_.isEmpty()) {
            entityIds_ = other.entityIds_;
            bitField0_ |= 0x00000002;
          } else {
            ensureEntityIdsIsMutable();
            entityIds_.addAll(other.entityIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShardId()) {
          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: {
                shardId_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureEntityIdsIsMutable();
                entityIds_.add(bs);
                break;
              } // case 18
              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 shardId_ = "";
      /**
       * <code>required string shardId = 1;</code>
       * @return Whether the shardId field is set.
       */
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The shardId.
       */
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        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()) {
            shardId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The bytes for shardId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shardId = 1;</code>
       * @param value The shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShardId() {
        shardId_ = getDefaultInstance().getShardId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 1;</code>
       * @param value The bytes for shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureEntityIdsIsMutable() {
        if (!entityIds_.isModifiable()) {
          entityIds_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(entityIds_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return A list containing the entityIds.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getEntityIdsList() {
        entityIds_.makeImmutable();
        return entityIds_;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return The count of entityIds.
       */
      public int getEntityIdsCount() {
        return entityIds_.size();
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index of the element to return.
       * @return The entityIds at the given index.
       */
      public java.lang.String getEntityIds(int index) {
        return entityIds_.get(index);
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the entityIds at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdsBytes(int index) {
        return entityIds_.getByteString(index);
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index to set the value at.
       * @param value The entityIds to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIds(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param value The entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIds(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param values The entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllEntityIds(
          java.lang.Iterable<java.lang.String> values) {
        ensureEntityIdsIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, entityIds_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityIds() {
        entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param value The bytes of the entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIdsBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CurrentShardState)
    }

    // @@protoc_insertion_point(class_scope:CurrentShardState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<CurrentShardState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<CurrentShardState>() {
      @java.lang.Override
      public CurrentShardState 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<CurrentShardState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ShardStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ShardState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

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

    /**
     * <code>repeated string entityIds = 2;</code>
     * @return A list containing the entityIds.
     */
    java.util.List<java.lang.String>
        getEntityIdsList();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return The count of entityIds.
     */
    int getEntityIdsCount();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the element to return.
     * @return The entityIds at the given index.
     */
    java.lang.String getEntityIds(int index);
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityIds at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdsBytes(int index);
  }
  /**
   * Protobuf type {@code ShardState}
   */
  public static final class ShardState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:ShardState)
      ShardStateOrBuilder {
  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= */ "",
        "ShardState");
    }
    // Use ShardState.newBuilder() to construct.
    private ShardState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private ShardState() {
      shardId_ = "";
      entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder.class);
    }

    private int bitField0_;
    public static final int SHARDID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object shardId_ = "";
    /**
     * <code>required string shardId = 1;</code>
     * @return Whether the shardId field is set.
     */
    @java.lang.Override
    public boolean hasShardId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string shardId = 1;</code>
     * @return The shardId.
     */
    @java.lang.Override
    public java.lang.String getShardId() {
      java.lang.Object ref = shardId_;
      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()) {
          shardId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shardId = 1;</code>
     * @return The bytes for shardId.
     */
    @java.lang.Override
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        org.apache.pekko.protobufv3.internal.ByteString b = 
            org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardId_ = b;
        return b;
      } else {
        return (org.apache.pekko.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ENTITYIDS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityIds_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return A list containing the entityIds.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getEntityIdsList() {
      return entityIds_;
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @return The count of entityIds.
     */
    public int getEntityIdsCount() {
      return entityIds_.size();
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the element to return.
     * @return The entityIds at the given index.
     */
    public java.lang.String getEntityIds(int index) {
      return entityIds_.get(index);
    }
    /**
     * <code>repeated string entityIds = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the entityIds at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getEntityIdsBytes(int index) {
      return entityIds_.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;

      if (!hasShardId()) {
        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, shardId_);
      }
      for (int i = 0; i < entityIds_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, entityIds_.getRaw(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.GeneratedMessage.computeStringSize(1, shardId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < entityIds_.size(); i++) {
          dataSize += computeStringSizeNoTag(entityIds_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEntityIdsList().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.sharding.protobuf.msg.ClusterShardingMessages.ShardState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState) obj;

      if (hasShardId() != other.hasShardId()) return false;
      if (hasShardId()) {
        if (!getShardId()
            .equals(other.getShardId())) return false;
      }
      if (!getEntityIdsList()
          .equals(other.getEntityIdsList())) 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 (hasShardId()) {
        hash = (37 * hash) + SHARDID_FIELD_NUMBER;
        hash = (53 * hash) + getShardId().hashCode();
      }
      if (getEntityIdsCount() > 0) {
        hash = (37 * hash) + ENTITYIDS_FIELD_NUMBER;
        hash = (53 * hash) + getEntityIdsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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.sharding.protobuf.msg.ClusterShardingMessages.ShardState 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;
    }
    /**
     * Protobuf type {@code ShardState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ShardState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.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;
        shardId_ = "";
        entityIds_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_ShardState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.shardId_ = shardId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          entityIds_.makeImmutable();
          result.entityIds_ = entityIds_;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.getDefaultInstance()) return this;
        if (other.hasShardId()) {
          shardId_ = other.shardId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (!other.entityIds_.isEmpty()) {
          if (entityIds_.isEmpty()) {
            entityIds_ = other.entityIds_;
            bitField0_ |= 0x00000002;
          } else {
            ensureEntityIdsIsMutable();
            entityIds_.addAll(other.entityIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasShardId()) {
          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: {
                shardId_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureEntityIdsIsMutable();
                entityIds_.add(bs);
                break;
              } // case 18
              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 shardId_ = "";
      /**
       * <code>required string shardId = 1;</code>
       * @return Whether the shardId field is set.
       */
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The shardId.
       */
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        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()) {
            shardId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return The bytes for shardId.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof String) {
          org.apache.pekko.protobufv3.internal.ByteString b = 
              org.apache.pekko.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (org.apache.pekko.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string shardId = 1;</code>
       * @param value The shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShardId() {
        shardId_ = getDefaultInstance().getShardId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string shardId = 1;</code>
       * @param value The bytes for shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        shardId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureEntityIdsIsMutable() {
        if (!entityIds_.isModifiable()) {
          entityIds_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(entityIds_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return A list containing the entityIds.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getEntityIdsList() {
        entityIds_.makeImmutable();
        return entityIds_;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return The count of entityIds.
       */
      public int getEntityIdsCount() {
        return entityIds_.size();
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index of the element to return.
       * @return The entityIds at the given index.
       */
      public java.lang.String getEntityIds(int index) {
        return entityIds_.get(index);
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the entityIds at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getEntityIdsBytes(int index) {
        return entityIds_.getByteString(index);
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param index The index to set the value at.
       * @param value The entityIds to set.
       * @return This builder for chaining.
       */
      public Builder setEntityIds(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param value The entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIds(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param values The entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllEntityIds(
          java.lang.Iterable<java.lang.String> values) {
        ensureEntityIdsIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, entityIds_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEntityIds() {
        entityIds_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string entityIds = 2;</code>
       * @param value The bytes of the entityIds to add.
       * @return This builder for chaining.
       */
      public Builder addEntityIdsBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureEntityIdsIsMutable();
        entityIds_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ShardState)
    }

    // @@protoc_insertion_point(class_scope:ShardState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<ShardState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<ShardState>() {
      @java.lang.Override
      public ShardState 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<ShardState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CurrentShardRegionStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CurrentShardRegionState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> 
        getShardsList();
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getShards(int index);
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    int getShardsCount();
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder> 
        getShardsOrBuilderList();
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder getShardsOrBuilder(
        int index);

    /**
     * <code>repeated string failed = 2;</code>
     * @return A list containing the failed.
     */
    java.util.List<java.lang.String>
        getFailedList();
    /**
     * <code>repeated string failed = 2;</code>
     * @return The count of failed.
     */
    int getFailedCount();
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the element to return.
     * @return The failed at the given index.
     */
    java.lang.String getFailed(int index);
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the failed at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getFailedBytes(int index);
  }
  /**
   * Protobuf type {@code CurrentShardRegionState}
   */
  public static final class CurrentShardRegionState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CurrentShardRegionState)
      CurrentShardRegionStateOrBuilder {
  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= */ "",
        "CurrentShardRegionState");
    }
    // Use CurrentShardRegionState.newBuilder() to construct.
    private CurrentShardRegionState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CurrentShardRegionState() {
      shards_ = java.util.Collections.emptyList();
      failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardRegionState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardRegionState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.Builder.class);
    }

    public static final int SHARDS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> shards_;
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> getShardsList() {
      return shards_;
    }
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder> 
        getShardsOrBuilderList() {
      return shards_;
    }
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    @java.lang.Override
    public int getShardsCount() {
      return shards_.size();
    }
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getShards(int index) {
      return shards_.get(index);
    }
    /**
     * <code>repeated .ShardState shards = 1;</code>
     */
    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder getShardsOrBuilder(
        int index) {
      return shards_.get(index);
    }

    public static final int FAILED_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList failed_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string failed = 2;</code>
     * @return A list containing the failed.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getFailedList() {
      return failed_;
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @return The count of failed.
     */
    public int getFailedCount() {
      return failed_.size();
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the element to return.
     * @return The failed at the given index.
     */
    public java.lang.String getFailed(int index) {
      return failed_.get(index);
    }
    /**
     * <code>repeated string failed = 2;</code>
     * @param index The index of the value to return.
     * @return The bytes of the failed at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getFailedBytes(int index) {
      return failed_.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;

      for (int i = 0; i < getShardsCount(); i++) {
        if (!getShards(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 {
      for (int i = 0; i < shards_.size(); i++) {
        output.writeMessage(1, shards_.get(i));
      }
      for (int i = 0; i < failed_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 2, failed_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < shards_.size(); i++) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, shards_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < failed_.size(); i++) {
          dataSize += computeStringSizeNoTag(failed_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getFailedList().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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState) obj;

      if (!getShardsList()
          .equals(other.getShardsList())) return false;
      if (!getFailedList()
          .equals(other.getFailedList())) 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 (getShardsCount() > 0) {
        hash = (37 * hash) + SHARDS_FIELD_NUMBER;
        hash = (53 * hash) + getShardsList().hashCode();
      }
      if (getFailedCount() > 0) {
        hash = (37 * hash) + FAILED_FIELD_NUMBER;
        hash = (53 * hash) + getFailedList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState 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;
    }
    /**
     * Protobuf type {@code CurrentShardRegionState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CurrentShardRegionState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardRegionState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardRegionState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.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;
        if (shardsBuilder_ == null) {
          shards_ = java.util.Collections.emptyList();
        } else {
          shards_ = null;
          shardsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        failed_ =
            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.sharding.protobuf.msg.ClusterShardingMessages.internal_static_CurrentShardRegionState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState result) {
        if (shardsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            shards_ = java.util.Collections.unmodifiableList(shards_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.shards_ = shards_;
        } else {
          result.shards_ = shardsBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          failed_.makeImmutable();
          result.failed_ = failed_;
        }
      }

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

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState.getDefaultInstance()) return this;
        if (shardsBuilder_ == null) {
          if (!other.shards_.isEmpty()) {
            if (shards_.isEmpty()) {
              shards_ = other.shards_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureShardsIsMutable();
              shards_.addAll(other.shards_);
            }
            onChanged();
          }
        } else {
          if (!other.shards_.isEmpty()) {
            if (shardsBuilder_.isEmpty()) {
              shardsBuilder_.dispose();
              shardsBuilder_ = null;
              shards_ = other.shards_;
              bitField0_ = (bitField0_ & ~0x00000001);
              shardsBuilder_ = 
                org.apache.pekko.protobufv3.internal.GeneratedMessage.alwaysUseFieldBuilders ?
                   internalGetShardsFieldBuilder() : null;
            } else {
              shardsBuilder_.addAllMessages(other.shards_);
            }
          }
        }
        if (!other.failed_.isEmpty()) {
          if (failed_.isEmpty()) {
            failed_ = other.failed_;
            bitField0_ |= 0x00000002;
          } else {
            ensureFailedIsMutable();
            failed_.addAll(other.failed_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getShardsCount(); i++) {
          if (!getShards(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 10: {
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState m =
                    input.readMessage(
                        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.parser(),
                        extensionRegistry);
                if (shardsBuilder_ == null) {
                  ensureShardsIsMutable();
                  shards_.add(m);
                } else {
                  shardsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              case 18: {
                org.apache.pekko.protobufv3.internal.ByteString bs = input.readBytes();
                ensureFailedIsMutable();
                failed_.add(bs);
                break;
              } // case 18
              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.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> shards_ =
        java.util.Collections.emptyList();
      private void ensureShardsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          shards_ = new java.util.ArrayList<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState>(shards_);
          bitField0_ |= 0x00000001;
         }
      }

      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder> shardsBuilder_;

      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> getShardsList() {
        if (shardsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(shards_);
        } else {
          return shardsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public int getShardsCount() {
        if (shardsBuilder_ == null) {
          return shards_.size();
        } else {
          return shardsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState getShards(int index) {
        if (shardsBuilder_ == null) {
          return shards_.get(index);
        } else {
          return shardsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder setShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.set(index, value);
          onChanged();
        } else {
          shardsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder setShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.set(index, builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder addShards(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.add(value);
          onChanged();
        } else {
          shardsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder addShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState value) {
        if (shardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureShardsIsMutable();
          shards_.add(index, value);
          onChanged();
        } else {
          shardsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder addShards(
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.add(builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder addShards(
          int index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder builderForValue) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.add(index, builderForValue.build());
          onChanged();
        } else {
          shardsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder addAllShards(
          java.lang.Iterable<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState> values) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, shards_);
          onChanged();
        } else {
          shardsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder clearShards() {
        if (shardsBuilder_ == null) {
          shards_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          shardsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public Builder removeShards(int index) {
        if (shardsBuilder_ == null) {
          ensureShardsIsMutable();
          shards_.remove(index);
          onChanged();
        } else {
          shardsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder getShardsBuilder(
          int index) {
        return internalGetShardsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder getShardsOrBuilder(
          int index) {
        if (shardsBuilder_ == null) {
          return shards_.get(index);  } else {
          return shardsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public java.util.List<? extends org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder> 
           getShardsOrBuilderList() {
        if (shardsBuilder_ != null) {
          return shardsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(shards_);
        }
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder addShardsBuilder() {
        return internalGetShardsFieldBuilder().addBuilder(
            org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.getDefaultInstance());
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder addShardsBuilder(
          int index) {
        return internalGetShardsFieldBuilder().addBuilder(
            index, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.getDefaultInstance());
      }
      /**
       * <code>repeated .ShardState shards = 1;</code>
       */
      public java.util.List<org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder> 
           getShardsBuilderList() {
        return internalGetShardsFieldBuilder().getBuilderList();
      }
      private org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
          org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder> 
          internalGetShardsFieldBuilder() {
        if (shardsBuilder_ == null) {
          shardsBuilder_ = new org.apache.pekko.protobufv3.internal.RepeatedFieldBuilder<
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardState.Builder, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.ShardStateOrBuilder>(
                  shards_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          shards_ = null;
        }
        return shardsBuilder_;
      }

      private org.apache.pekko.protobufv3.internal.LazyStringArrayList failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureFailedIsMutable() {
        if (!failed_.isModifiable()) {
          failed_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(failed_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return A list containing the failed.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getFailedList() {
        failed_.makeImmutable();
        return failed_;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return The count of failed.
       */
      public int getFailedCount() {
        return failed_.size();
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index of the element to return.
       * @return The failed at the given index.
       */
      public java.lang.String getFailed(int index) {
        return failed_.get(index);
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index of the value to return.
       * @return The bytes of the failed at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getFailedBytes(int index) {
        return failed_.getByteString(index);
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param index The index to set the value at.
       * @param value The failed to set.
       * @return This builder for chaining.
       */
      public Builder setFailed(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param value The failed to add.
       * @return This builder for chaining.
       */
      public Builder addFailed(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param values The failed to add.
       * @return This builder for chaining.
       */
      public Builder addAllFailed(
          java.lang.Iterable<java.lang.String> values) {
        ensureFailedIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, failed_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFailed() {
        failed_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string failed = 2;</code>
       * @param value The bytes of the failed to add.
       * @return This builder for chaining.
       */
      public Builder addFailedBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureFailedIsMutable();
        failed_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CurrentShardRegionState)
    }

    // @@protoc_insertion_point(class_scope:CurrentShardRegionState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<CurrentShardRegionState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<CurrentShardRegionState>() {
      @java.lang.Override
      public CurrentShardRegionState 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<CurrentShardRegionState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.CurrentShardRegionState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RememberedShardStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:RememberedShardState)
      org.apache.pekko.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string shardId = 1;</code>
     * @return A list containing the shardId.
     */
    java.util.List<java.lang.String>
        getShardIdList();
    /**
     * <code>repeated string shardId = 1;</code>
     * @return The count of shardId.
     */
    int getShardIdCount();
    /**
     * <code>repeated string shardId = 1;</code>
     * @param index The index of the element to return.
     * @return The shardId at the given index.
     */
    java.lang.String getShardId(int index);
    /**
     * <code>repeated string shardId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the shardId at the given index.
     */
    org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes(int index);

    /**
     * <code>optional bool marker = 2;</code>
     * @return Whether the marker field is set.
     */
    boolean hasMarker();
    /**
     * <code>optional bool marker = 2;</code>
     * @return The marker.
     */
    boolean getMarker();
  }
  /**
   * Protobuf type {@code RememberedShardState}
   */
  public static final class RememberedShardState extends
      org.apache.pekko.protobufv3.internal.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:RememberedShardState)
      RememberedShardStateOrBuilder {
  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= */ "",
        "RememberedShardState");
    }
    // Use RememberedShardState.newBuilder() to construct.
    private RememberedShardState(org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private RememberedShardState() {
      shardId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    }

    public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_RememberedShardState_descriptor;
    }

    @java.lang.Override
    protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_RememberedShardState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.Builder.class);
    }

    private int bitField0_;
    public static final int SHARDID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private org.apache.pekko.protobufv3.internal.LazyStringArrayList shardId_ =
        org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string shardId = 1;</code>
     * @return A list containing the shardId.
     */
    public org.apache.pekko.protobufv3.internal.ProtocolStringList
        getShardIdList() {
      return shardId_;
    }
    /**
     * <code>repeated string shardId = 1;</code>
     * @return The count of shardId.
     */
    public int getShardIdCount() {
      return shardId_.size();
    }
    /**
     * <code>repeated string shardId = 1;</code>
     * @param index The index of the element to return.
     * @return The shardId at the given index.
     */
    public java.lang.String getShardId(int index) {
      return shardId_.get(index);
    }
    /**
     * <code>repeated string shardId = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the shardId at the given index.
     */
    public org.apache.pekko.protobufv3.internal.ByteString
        getShardIdBytes(int index) {
      return shardId_.getByteString(index);
    }

    public static final int MARKER_FIELD_NUMBER = 2;
    private boolean marker_ = false;
    /**
     * <code>optional bool marker = 2;</code>
     * @return Whether the marker field is set.
     */
    @java.lang.Override
    public boolean hasMarker() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional bool marker = 2;</code>
     * @return The marker.
     */
    @java.lang.Override
    public boolean getMarker() {
      return marker_;
    }

    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 < shardId_.size(); i++) {
        org.apache.pekko.protobufv3.internal.GeneratedMessage.writeString(output, 1, shardId_.getRaw(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBool(2, marker_);
      }
      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 < shardId_.size(); i++) {
          dataSize += computeStringSizeNoTag(shardId_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getShardIdList().size();
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += org.apache.pekko.protobufv3.internal.CodedOutputStream
          .computeBoolSize(2, marker_);
      }
      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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState)) {
        return super.equals(obj);
      }
      org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState other = (org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState) obj;

      if (!getShardIdList()
          .equals(other.getShardIdList())) return false;
      if (hasMarker() != other.hasMarker()) return false;
      if (hasMarker()) {
        if (getMarker()
            != other.getMarker()) 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 (getShardIdCount() > 0) {
        hash = (37 * hash) + SHARDID_FIELD_NUMBER;
        hash = (53 * hash) + getShardIdList().hashCode();
      }
      if (hasMarker()) {
        hash = (37 * hash) + MARKER_FIELD_NUMBER;
        hash = (53 * hash) + org.apache.pekko.protobufv3.internal.Internal.hashBoolean(
            getMarker());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState parseFrom(
        java.nio.ByteBuffer data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState parseFrom(byte[] data)
        throws org.apache.pekko.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState 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;
    }
    /**
     * Protobuf type {@code RememberedShardState}
     */
    public static final class Builder extends
        org.apache.pekko.protobufv3.internal.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:RememberedShardState)
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardStateOrBuilder {
      public static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_RememberedShardState_descriptor;
      }

      @java.lang.Override
      protected org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_RememberedShardState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.class, org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.Builder.class);
      }

      // Construct using org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.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;
        shardId_ =
            org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        marker_ = false;
        return this;
      }

      @java.lang.Override
      public org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.internal_static_RememberedShardState_descriptor;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState getDefaultInstanceForType() {
        return org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState build() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState buildPartial() {
        org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState result = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          shardId_.makeImmutable();
          result.shardId_ = shardId_;
        }
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.marker_ = marker_;
          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.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState) {
          return mergeFrom((org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState other) {
        if (other == org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState.getDefaultInstance()) return this;
        if (!other.shardId_.isEmpty()) {
          if (shardId_.isEmpty()) {
            shardId_ = other.shardId_;
            bitField0_ |= 0x00000001;
          } else {
            ensureShardIdIsMutable();
            shardId_.addAll(other.shardId_);
          }
          onChanged();
        }
        if (other.hasMarker()) {
          setMarker(other.getMarker());
        }
        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();
                ensureShardIdIsMutable();
                shardId_.add(bs);
                break;
              } // case 10
              case 16: {
                marker_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 shardId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
      private void ensureShardIdIsMutable() {
        if (!shardId_.isModifiable()) {
          shardId_ = new org.apache.pekko.protobufv3.internal.LazyStringArrayList(shardId_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @return A list containing the shardId.
       */
      public org.apache.pekko.protobufv3.internal.ProtocolStringList
          getShardIdList() {
        shardId_.makeImmutable();
        return shardId_;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @return The count of shardId.
       */
      public int getShardIdCount() {
        return shardId_.size();
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param index The index of the element to return.
       * @return The shardId at the given index.
       */
      public java.lang.String getShardId(int index) {
        return shardId_.get(index);
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the shardId at the given index.
       */
      public org.apache.pekko.protobufv3.internal.ByteString
          getShardIdBytes(int index) {
        return shardId_.getByteString(index);
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param index The index to set the value at.
       * @param value The shardId to set.
       * @return This builder for chaining.
       */
      public Builder setShardId(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIdIsMutable();
        shardId_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param value The shardId to add.
       * @return This builder for chaining.
       */
      public Builder addShardId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIdIsMutable();
        shardId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param values The shardId to add.
       * @return This builder for chaining.
       */
      public Builder addAllShardId(
          java.lang.Iterable<java.lang.String> values) {
        ensureShardIdIsMutable();
        org.apache.pekko.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, shardId_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearShardId() {
        shardId_ =
          org.apache.pekko.protobufv3.internal.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string shardId = 1;</code>
       * @param value The bytes of the shardId to add.
       * @return This builder for chaining.
       */
      public Builder addShardIdBytes(
          org.apache.pekko.protobufv3.internal.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureShardIdIsMutable();
        shardId_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private boolean marker_ ;
      /**
       * <code>optional bool marker = 2;</code>
       * @return Whether the marker field is set.
       */
      @java.lang.Override
      public boolean hasMarker() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional bool marker = 2;</code>
       * @return The marker.
       */
      @java.lang.Override
      public boolean getMarker() {
        return marker_;
      }
      /**
       * <code>optional bool marker = 2;</code>
       * @param value The marker to set.
       * @return This builder for chaining.
       */
      public Builder setMarker(boolean value) {

        marker_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool marker = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMarker() {
        bitField0_ = (bitField0_ & ~0x00000002);
        marker_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:RememberedShardState)
    }

    // @@protoc_insertion_point(class_scope:RememberedShardState)
    private static final org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState();
    }

    public static org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final org.apache.pekko.protobufv3.internal.Parser<RememberedShardState>
        PARSER = new org.apache.pekko.protobufv3.internal.AbstractParser<RememberedShardState>() {
      @java.lang.Override
      public RememberedShardState 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<RememberedShardState> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public org.apache.pekko.cluster.sharding.protobuf.msg.ClusterShardingMessages.RememberedShardState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_CoordinatorState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_CoordinatorState_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_CoordinatorState_ShardEntry_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_CoordinatorState_ShardEntry_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ActorRefMessage_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ActorRefMessage_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardIdMessage_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardIdMessage_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardHomeAllocated_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardHomeAllocated_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardHome_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardHome_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardHomesEntry_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardHomesEntry_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardHomes_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardHomes_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_EntityState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_EntityState_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_EntityStarted_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_EntityStarted_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_EntitiesStarted_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_EntitiesStarted_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_EntityStopped_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_EntityStopped_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_EntitiesStopped_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_EntitiesStopped_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardStats_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardStats_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardRegionStats_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardRegionStats_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_MapFieldEntry_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_MapFieldEntry_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_GetClusterShardingStats_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_GetClusterShardingStats_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ClusterShardingStats_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ClusterShardingStats_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ClusterShardingStatsEntry_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ClusterShardingStatsEntry_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_CurrentRegions_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_CurrentRegions_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_Address_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_Address_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_StartEntity_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_StartEntity_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_StartEntityAck_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_StartEntityAck_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_CurrentShardState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_CurrentShardState_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_ShardState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_ShardState_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_CurrentShardRegionState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_CurrentShardRegionState_fieldAccessorTable;
  private static final org.apache.pekko.protobufv3.internal.Descriptors.Descriptor
    internal_static_RememberedShardState_descriptor;
  private static final 
    org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable
      internal_static_RememberedShardState_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\035ClusterShardingMessages.proto\"\265\001\n\020Coor" +
      "dinatorState\022,\n\006shards\030\001 \003(\0132\034.Coordinat" +
      "orState.ShardEntry\022\017\n\007regions\030\002 \003(\t\022\025\n\rr" +
      "egionProxies\030\003 \003(\t\022\031\n\021unallocatedShards\030" +
      "\004 \003(\t\0320\n\nShardEntry\022\017\n\007shardId\030\001 \002(\t\022\021\n\t" +
      "regionRef\030\002 \002(\t\"\036\n\017ActorRefMessage\022\013\n\003re" +
      "f\030\001 \002(\t\"\037\n\016ShardIdMessage\022\r\n\005shard\030\001 \002(\t" +
      "\"3\n\022ShardHomeAllocated\022\r\n\005shard\030\001 \002(\t\022\016\n" +
      "\006region\030\002 \002(\t\"*\n\tShardHome\022\r\n\005shard\030\001 \002(" +
      "\t\022\016\n\006region\030\002 \002(\t\"0\n\017ShardHomesEntry\022\016\n\006" +
      "region\030\001 \002(\t\022\r\n\005shard\030\002 \003(\t\"-\n\nShardHome" +
      "s\022\037\n\005homes\030\001 \003(\0132\020.ShardHomesEntry\"\037\n\013En" +
      "tityState\022\020\n\010entities\030\001 \003(\t\"!\n\rEntitySta" +
      "rted\022\020\n\010entityId\030\001 \002(\t\"#\n\017EntitiesStarte" +
      "d\022\020\n\010entityId\030\001 \003(\t\"!\n\rEntityStopped\022\020\n\010" +
      "entityId\030\001 \002(\t\"#\n\017EntitiesStopped\022\020\n\010ent" +
      "ityId\030\001 \003(\t\"0\n\nShardStats\022\r\n\005shard\030\001 \002(\t" +
      "\022\023\n\013entityCount\030\002 \002(\005\"A\n\020ShardRegionStat" +
      "s\022\035\n\005stats\030\001 \003(\0132\016.MapFieldEntry\022\016\n\006fail" +
      "ed\030\002 \003(\t\"+\n\rMapFieldEntry\022\013\n\003key\030\001 \001(\t\022\r" +
      "\n\005value\030\002 \001(\005\"/\n\027GetClusterShardingStats" +
      "\022\024\n\014timeoutNanos\030\001 \002(\003\"A\n\024ClusterShardin" +
      "gStats\022)\n\005stats\030\001 \003(\0132\032.ClusterShardingS" +
      "tatsEntry\"X\n\031ClusterShardingStatsEntry\022\031" +
      "\n\007address\030\001 \002(\0132\010.Address\022 \n\005stats\030\002 \002(\013" +
      "2\021.ShardRegionStats\"+\n\016CurrentRegions\022\031\n" +
      "\007regions\030\001 \003(\0132\010.Address\"K\n\007Address\022\020\n\010p" +
      "rotocol\030\001 \002(\t\022\016\n\006system\030\002 \002(\t\022\020\n\010hostnam" +
      "e\030\003 \002(\t\022\014\n\004port\030\004 \002(\r\"\037\n\013StartEntity\022\020\n\010" +
      "entityId\030\001 \002(\t\"3\n\016StartEntityAck\022\020\n\010enti" +
      "tyId\030\001 \002(\t\022\017\n\007shardId\030\002 \002(\t\"7\n\021CurrentSh" +
      "ardState\022\017\n\007shardId\030\001 \002(\t\022\021\n\tentityIds\030\002" +
      " \003(\t\"0\n\nShardState\022\017\n\007shardId\030\001 \002(\t\022\021\n\te" +
      "ntityIds\030\002 \003(\t\"F\n\027CurrentShardRegionStat" +
      "e\022\033\n\006shards\030\001 \003(\0132\013.ShardState\022\016\n\006failed" +
      "\030\002 \003(\t\"7\n\024RememberedShardState\022\017\n\007shardI" +
      "d\030\001 \003(\t\022\016\n\006marker\030\002 \001(\010B2\n.org.apache.pe" +
      "kko.cluster.sharding.protobuf.msgH\001"
    };
    descriptor = org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new org.apache.pekko.protobufv3.internal.Descriptors.FileDescriptor[] {
        });
    internal_static_CoordinatorState_descriptor =
      getDescriptor().getMessageType(0);
    internal_static_CoordinatorState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_CoordinatorState_descriptor,
        new java.lang.String[] { "Shards", "Regions", "RegionProxies", "UnallocatedShards", });
    internal_static_CoordinatorState_ShardEntry_descriptor =
      internal_static_CoordinatorState_descriptor.getNestedType(0);
    internal_static_CoordinatorState_ShardEntry_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_CoordinatorState_ShardEntry_descriptor,
        new java.lang.String[] { "ShardId", "RegionRef", });
    internal_static_ActorRefMessage_descriptor =
      getDescriptor().getMessageType(1);
    internal_static_ActorRefMessage_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ActorRefMessage_descriptor,
        new java.lang.String[] { "Ref", });
    internal_static_ShardIdMessage_descriptor =
      getDescriptor().getMessageType(2);
    internal_static_ShardIdMessage_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardIdMessage_descriptor,
        new java.lang.String[] { "Shard", });
    internal_static_ShardHomeAllocated_descriptor =
      getDescriptor().getMessageType(3);
    internal_static_ShardHomeAllocated_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardHomeAllocated_descriptor,
        new java.lang.String[] { "Shard", "Region", });
    internal_static_ShardHome_descriptor =
      getDescriptor().getMessageType(4);
    internal_static_ShardHome_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardHome_descriptor,
        new java.lang.String[] { "Shard", "Region", });
    internal_static_ShardHomesEntry_descriptor =
      getDescriptor().getMessageType(5);
    internal_static_ShardHomesEntry_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardHomesEntry_descriptor,
        new java.lang.String[] { "Region", "Shard", });
    internal_static_ShardHomes_descriptor =
      getDescriptor().getMessageType(6);
    internal_static_ShardHomes_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardHomes_descriptor,
        new java.lang.String[] { "Homes", });
    internal_static_EntityState_descriptor =
      getDescriptor().getMessageType(7);
    internal_static_EntityState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_EntityState_descriptor,
        new java.lang.String[] { "Entities", });
    internal_static_EntityStarted_descriptor =
      getDescriptor().getMessageType(8);
    internal_static_EntityStarted_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_EntityStarted_descriptor,
        new java.lang.String[] { "EntityId", });
    internal_static_EntitiesStarted_descriptor =
      getDescriptor().getMessageType(9);
    internal_static_EntitiesStarted_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_EntitiesStarted_descriptor,
        new java.lang.String[] { "EntityId", });
    internal_static_EntityStopped_descriptor =
      getDescriptor().getMessageType(10);
    internal_static_EntityStopped_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_EntityStopped_descriptor,
        new java.lang.String[] { "EntityId", });
    internal_static_EntitiesStopped_descriptor =
      getDescriptor().getMessageType(11);
    internal_static_EntitiesStopped_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_EntitiesStopped_descriptor,
        new java.lang.String[] { "EntityId", });
    internal_static_ShardStats_descriptor =
      getDescriptor().getMessageType(12);
    internal_static_ShardStats_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardStats_descriptor,
        new java.lang.String[] { "Shard", "EntityCount", });
    internal_static_ShardRegionStats_descriptor =
      getDescriptor().getMessageType(13);
    internal_static_ShardRegionStats_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardRegionStats_descriptor,
        new java.lang.String[] { "Stats", "Failed", });
    internal_static_MapFieldEntry_descriptor =
      getDescriptor().getMessageType(14);
    internal_static_MapFieldEntry_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_MapFieldEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_GetClusterShardingStats_descriptor =
      getDescriptor().getMessageType(15);
    internal_static_GetClusterShardingStats_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_GetClusterShardingStats_descriptor,
        new java.lang.String[] { "TimeoutNanos", });
    internal_static_ClusterShardingStats_descriptor =
      getDescriptor().getMessageType(16);
    internal_static_ClusterShardingStats_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ClusterShardingStats_descriptor,
        new java.lang.String[] { "Stats", });
    internal_static_ClusterShardingStatsEntry_descriptor =
      getDescriptor().getMessageType(17);
    internal_static_ClusterShardingStatsEntry_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ClusterShardingStatsEntry_descriptor,
        new java.lang.String[] { "Address", "Stats", });
    internal_static_CurrentRegions_descriptor =
      getDescriptor().getMessageType(18);
    internal_static_CurrentRegions_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_CurrentRegions_descriptor,
        new java.lang.String[] { "Regions", });
    internal_static_Address_descriptor =
      getDescriptor().getMessageType(19);
    internal_static_Address_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_Address_descriptor,
        new java.lang.String[] { "Protocol", "System", "Hostname", "Port", });
    internal_static_StartEntity_descriptor =
      getDescriptor().getMessageType(20);
    internal_static_StartEntity_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_StartEntity_descriptor,
        new java.lang.String[] { "EntityId", });
    internal_static_StartEntityAck_descriptor =
      getDescriptor().getMessageType(21);
    internal_static_StartEntityAck_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_StartEntityAck_descriptor,
        new java.lang.String[] { "EntityId", "ShardId", });
    internal_static_CurrentShardState_descriptor =
      getDescriptor().getMessageType(22);
    internal_static_CurrentShardState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_CurrentShardState_descriptor,
        new java.lang.String[] { "ShardId", "EntityIds", });
    internal_static_ShardState_descriptor =
      getDescriptor().getMessageType(23);
    internal_static_ShardState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_ShardState_descriptor,
        new java.lang.String[] { "ShardId", "EntityIds", });
    internal_static_CurrentShardRegionState_descriptor =
      getDescriptor().getMessageType(24);
    internal_static_CurrentShardRegionState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_CurrentShardRegionState_descriptor,
        new java.lang.String[] { "Shards", "Failed", });
    internal_static_RememberedShardState_descriptor =
      getDescriptor().getMessageType(25);
    internal_static_RememberedShardState_fieldAccessorTable = new
      org.apache.pekko.protobufv3.internal.GeneratedMessage.FieldAccessorTable(
        internal_static_RememberedShardState_descriptor,
        new java.lang.String[] { "ShardId", "Marker", });
    descriptor.resolveAllFeaturesImmutable();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
