// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/iot_connect/v1/keyapis_iot_connect_callback_v1.proto

package ru.keyapis.iot_connect.v1;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface CommonErrorOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.CommonError)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>int32 code = 1;</code>
     * @return The code.
     */
    int getCode();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string message = 2;</code>
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string message = 2;</code>
     * @return The bytes for message.
     */
    com.google.protobuf.ByteString
        getMessageBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string details = 3;</code>
     * @return The details.
     */
    java.lang.String getDetails();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string details = 3;</code>
     * @return The bytes for details.
     */
    com.google.protobuf.ByteString
        getDetailsBytes();
  }
  /**
   * <pre>
   * Сообщение ошибки на запрос
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.CommonError}
   */
  public static final class CommonError extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.CommonError)
      CommonErrorOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CommonError.newBuilder() to construct.
    private CommonError(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CommonError() {
      message_ = "";
      details_ = "";
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_CommonError_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_CommonError_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.Builder.class);
    }

    public static final int CODE_FIELD_NUMBER = 1;
    private int code_ = 0;
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>int32 code = 1;</code>
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

    public static final int MESSAGE_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object message_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string message = 2;</code>
     * @return The message.
     */
    @java.lang.Override
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        message_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string message = 2;</code>
     * @return The bytes for message.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DETAILS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object details_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string details = 3;</code>
     * @return The details.
     */
    @java.lang.Override
    public java.lang.String getDetails() {
      java.lang.Object ref = details_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        details_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string details = 3;</code>
     * @return The bytes for details.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDetailsBytes() {
      java.lang.Object ref = details_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        details_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (code_ != 0) {
        output.writeInt32(1, code_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(message_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, message_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(details_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, details_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, code_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(message_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, message_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(details_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, details_);
      }
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError) obj;

      if (getCode()
          != other.getCode()) return false;
      if (!getMessage()
          .equals(other.getMessage())) return false;
      if (!getDetails()
          .equals(other.getDetails())) 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();
      hash = (37 * hash) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
      hash = (53 * hash) + getMessage().hashCode();
      hash = (37 * hash) + DETAILS_FIELD_NUMBER;
      hash = (53 * hash) + getDetails().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Сообщение ошибки на запрос
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.CommonError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.CommonError)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_CommonError_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_CommonError_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_CommonError_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.code_ = code_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.message_ = message_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.details_ = details_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError.getDefaultInstance()) return this;
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        if (!other.getMessage().isEmpty()) {
          message_ = other.message_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (!other.getDetails().isEmpty()) {
          details_ = other.details_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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: {
                code_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                message_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                details_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int code_ ;
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>int32 code = 1;</code>
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>int32 code = 1;</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {

        code_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>int32 code = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        bitField0_ = (bitField0_ & ~0x00000001);
        code_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object message_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string message = 2;</code>
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string message = 2;</code>
       * @return The bytes for message.
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string message = 2;</code>
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        message_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string message = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        message_ = getDefaultInstance().getMessage();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string message = 2;</code>
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        message_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object details_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string details = 3;</code>
       * @return The details.
       */
      public java.lang.String getDetails() {
        java.lang.Object ref = details_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          details_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string details = 3;</code>
       * @return The bytes for details.
       */
      public com.google.protobuf.ByteString
          getDetailsBytes() {
        java.lang.Object ref = details_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          details_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string details = 3;</code>
       * @param value The details to set.
       * @return This builder for chaining.
       */
      public Builder setDetails(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        details_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string details = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearDetails() {
        details_ = getDefaultInstance().getDetails();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string details = 3;</code>
       * @param value The bytes for details to set.
       * @return This builder for chaining.
       */
      public Builder setDetailsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        details_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.CommonError)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.CommonError)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.CommonError getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeviceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.Device)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1;</code>
     * @return The userId.
     */
    int getUserId();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string id = 2;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string id = 2;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string parent_id = 3;</code>
     * @return The parentId.
     */
    java.lang.String getParentId();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string parent_id = 3;</code>
     * @return The bytes for parentId.
     */
    com.google.protobuf.ByteString
        getParentIdBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string name = 4;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string name = 4;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string default_name = 5;</code>
     * @return The defaultName.
     */
    java.lang.String getDefaultName();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string default_name = 5;</code>
     * @return The bytes for defaultName.
     */
    com.google.protobuf.ByteString
        getDefaultNameBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string home = 6;</code>
     * @return The home.
     */
    java.lang.String getHome();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string home = 6;</code>
     * @return The bytes for home.
     */
    com.google.protobuf.ByteString
        getHomeBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string room = 7;</code>
     * @return The room.
     */
    java.lang.String getRoom();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string room = 7;</code>
     * @return The bytes for room.
     */
    com.google.protobuf.ByteString
        getRoomBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @return A list containing the groups.
     */
    java.util.List<java.lang.String>
        getGroupsList();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @return The count of groups.
     */
    int getGroupsCount();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @param index The index of the element to return.
     * @return The groups at the given index.
     */
    java.lang.String getGroups(int index);
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @param index The index of the value to return.
     * @return The bytes of the groups at the given index.
     */
    com.google.protobuf.ByteString
        getGroupsBytes(int index);

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string model_id = 9;</code>
     * @return The modelId.
     */
    java.lang.String getModelId();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string model_id = 9;</code>
     * @return The bytes for modelId.
     */
    com.google.protobuf.ByteString
        getModelIdBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string hw_version = 10;</code>
     * @return The hwVersion.
     */
    java.lang.String getHwVersion();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string hw_version = 10;</code>
     * @return The bytes for hwVersion.
     */
    com.google.protobuf.ByteString
        getHwVersionBytes();

    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string sw_version = 11;</code>
     * @return The swVersion.
     */
    java.lang.String getSwVersion();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string sw_version = 11;</code>
     * @return The bytes for swVersion.
     */
    com.google.protobuf.ByteString
        getSwVersionBytes();
  }
  /**
   * <pre>
   * Объект устройства
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.Device}
   */
  public static final class Device extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.Device)
      DeviceOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Device.newBuilder() to construct.
    private Device(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Device() {
      id_ = "";
      parentId_ = "";
      name_ = "";
      defaultName_ = "";
      home_ = "";
      room_ = "";
      groups_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      modelId_ = "";
      hwVersion_ = "";
      swVersion_ = "";
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_Device_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_Device_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder.class);
    }

    public static final int USER_ID_FIELD_NUMBER = 1;
    private int userId_ = 0;
    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1;</code>
     * @return The userId.
     */
    @java.lang.Override
    public int getUserId() {
      return userId_;
    }

    public static final int ID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object id_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string id = 2;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string id = 2;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARENT_ID_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object parentId_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string parent_id = 3;</code>
     * @return The parentId.
     */
    @java.lang.Override
    public java.lang.String getParentId() {
      java.lang.Object ref = parentId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        parentId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string parent_id = 3;</code>
     * @return The bytes for parentId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getParentIdBytes() {
      java.lang.Object ref = parentId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        parentId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string name = 4;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string name = 4;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DEFAULT_NAME_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object defaultName_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string default_name = 5;</code>
     * @return The defaultName.
     */
    @java.lang.Override
    public java.lang.String getDefaultName() {
      java.lang.Object ref = defaultName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        defaultName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string default_name = 5;</code>
     * @return The bytes for defaultName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDefaultNameBytes() {
      java.lang.Object ref = defaultName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        defaultName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HOME_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object home_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string home = 6;</code>
     * @return The home.
     */
    @java.lang.Override
    public java.lang.String getHome() {
      java.lang.Object ref = home_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        home_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string home = 6;</code>
     * @return The bytes for home.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getHomeBytes() {
      java.lang.Object ref = home_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        home_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROOM_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object room_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string room = 7;</code>
     * @return The room.
     */
    @java.lang.Override
    public java.lang.String getRoom() {
      java.lang.Object ref = room_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        room_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string room = 7;</code>
     * @return The bytes for room.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRoomBytes() {
      java.lang.Object ref = room_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        room_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GROUPS_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList groups_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @return A list containing the groups.
     */
    public com.google.protobuf.ProtocolStringList
        getGroupsList() {
      return groups_;
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @return The count of groups.
     */
    public int getGroupsCount() {
      return groups_.size();
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @param index The index of the element to return.
     * @return The groups at the given index.
     */
    public java.lang.String getGroups(int index) {
      return groups_.get(index);
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>repeated string groups = 8;</code>
     * @param index The index of the value to return.
     * @return The bytes of the groups at the given index.
     */
    public com.google.protobuf.ByteString
        getGroupsBytes(int index) {
      return groups_.getByteString(index);
    }

    public static final int MODEL_ID_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private volatile java.lang.Object modelId_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string model_id = 9;</code>
     * @return The modelId.
     */
    @java.lang.Override
    public java.lang.String getModelId() {
      java.lang.Object ref = modelId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        modelId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string model_id = 9;</code>
     * @return The bytes for modelId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getModelIdBytes() {
      java.lang.Object ref = modelId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        modelId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HW_VERSION_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object hwVersion_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string hw_version = 10;</code>
     * @return The hwVersion.
     */
    @java.lang.Override
    public java.lang.String getHwVersion() {
      java.lang.Object ref = hwVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        hwVersion_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string hw_version = 10;</code>
     * @return The bytes for hwVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getHwVersionBytes() {
      java.lang.Object ref = hwVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hwVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SW_VERSION_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object swVersion_ = "";
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string sw_version = 11;</code>
     * @return The swVersion.
     */
    @java.lang.Override
    public java.lang.String getSwVersion() {
      java.lang.Object ref = swVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        swVersion_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * <code>string sw_version = 11;</code>
     * @return The bytes for swVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSwVersionBytes() {
      java.lang.Object ref = swVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        swVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (userId_ != 0) {
        output.writeInt32(1, userId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, parentId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultName_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, defaultName_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, home_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(room_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, room_);
      }
      for (int i = 0; i < groups_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, groups_.getRaw(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, modelId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hwVersion_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, hwVersion_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(swVersion_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, swVersion_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (userId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, userId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, parentId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultName_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, defaultName_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, home_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(room_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, room_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < groups_.size(); i++) {
          dataSize += computeStringSizeNoTag(groups_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getGroupsList().size();
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, modelId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hwVersion_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, hwVersion_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(swVersion_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, swVersion_);
      }
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device) obj;

      if (getUserId()
          != other.getUserId()) return false;
      if (!getId()
          .equals(other.getId())) return false;
      if (!getParentId()
          .equals(other.getParentId())) return false;
      if (!getName()
          .equals(other.getName())) return false;
      if (!getDefaultName()
          .equals(other.getDefaultName())) return false;
      if (!getHome()
          .equals(other.getHome())) return false;
      if (!getRoom()
          .equals(other.getRoom())) return false;
      if (!getGroupsList()
          .equals(other.getGroupsList())) return false;
      if (!getModelId()
          .equals(other.getModelId())) return false;
      if (!getHwVersion()
          .equals(other.getHwVersion())) return false;
      if (!getSwVersion()
          .equals(other.getSwVersion())) 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();
      hash = (37 * hash) + USER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getUserId();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + PARENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getParentId().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + DEFAULT_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getDefaultName().hashCode();
      hash = (37 * hash) + HOME_FIELD_NUMBER;
      hash = (53 * hash) + getHome().hashCode();
      hash = (37 * hash) + ROOM_FIELD_NUMBER;
      hash = (53 * hash) + getRoom().hashCode();
      if (getGroupsCount() > 0) {
        hash = (37 * hash) + GROUPS_FIELD_NUMBER;
        hash = (53 * hash) + getGroupsList().hashCode();
      }
      hash = (37 * hash) + MODEL_ID_FIELD_NUMBER;
      hash = (53 * hash) + getModelId().hashCode();
      hash = (37 * hash) + HW_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getHwVersion().hashCode();
      hash = (37 * hash) + SW_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getSwVersion().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Объект устройства
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.Device}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.Device)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_Device_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_Device_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        userId_ = 0;
        id_ = "";
        parentId_ = "";
        name_ = "";
        defaultName_ = "";
        home_ = "";
        room_ = "";
        groups_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        modelId_ = "";
        hwVersion_ = "";
        swVersion_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_Device_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.userId_ = userId_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.id_ = id_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.parentId_ = parentId_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.name_ = name_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.defaultName_ = defaultName_;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.home_ = home_;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.room_ = room_;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          groups_.makeImmutable();
          result.groups_ = groups_;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.modelId_ = modelId_;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.hwVersion_ = hwVersion_;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.swVersion_ = swVersion_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.getDefaultInstance()) return this;
        if (other.getUserId() != 0) {
          setUserId(other.getUserId());
        }
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (!other.getParentId().isEmpty()) {
          parentId_ = other.parentId_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (!other.getDefaultName().isEmpty()) {
          defaultName_ = other.defaultName_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (!other.getHome().isEmpty()) {
          home_ = other.home_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (!other.getRoom().isEmpty()) {
          room_ = other.room_;
          bitField0_ |= 0x00000040;
          onChanged();
        }
        if (!other.groups_.isEmpty()) {
          if (groups_.isEmpty()) {
            groups_ = other.groups_;
            bitField0_ |= 0x00000080;
          } else {
            ensureGroupsIsMutable();
            groups_.addAll(other.groups_);
          }
          onChanged();
        }
        if (!other.getModelId().isEmpty()) {
          modelId_ = other.modelId_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (!other.getHwVersion().isEmpty()) {
          hwVersion_ = other.hwVersion_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (!other.getSwVersion().isEmpty()) {
          swVersion_ = other.swVersion_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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: {
                userId_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                id_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                parentId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                name_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                defaultName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                home_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                room_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                java.lang.String s = input.readStringRequireUtf8();
                ensureGroupsIsMutable();
                groups_.add(s);
                break;
              } // case 66
              case 74: {
                modelId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                hwVersion_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                swVersion_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int userId_ ;
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1;</code>
       * @return The userId.
       */
      @java.lang.Override
      public int getUserId() {
        return userId_;
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1;</code>
       * @param value The userId to set.
       * @return This builder for chaining.
       */
      public Builder setUserId(int value) {

        userId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearUserId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        userId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object id_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The id.
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        id_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        id_ = getDefaultInstance().getId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        id_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object parentId_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The parentId.
       */
      public java.lang.String getParentId() {
        java.lang.Object ref = parentId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          parentId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The bytes for parentId.
       */
      public com.google.protobuf.ByteString
          getParentIdBytes() {
        java.lang.Object ref = parentId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          parentId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @param value The parentId to set.
       * @return This builder for chaining.
       */
      public Builder setParentId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        parentId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearParentId() {
        parentId_ = getDefaultInstance().getParentId();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @param value The bytes for parentId to set.
       * @return This builder for chaining.
       */
      public Builder setParentIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        parentId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        name_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private java.lang.Object defaultName_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The defaultName.
       */
      public java.lang.String getDefaultName() {
        java.lang.Object ref = defaultName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          defaultName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The bytes for defaultName.
       */
      public com.google.protobuf.ByteString
          getDefaultNameBytes() {
        java.lang.Object ref = defaultName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          defaultName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @param value The defaultName to set.
       * @return This builder for chaining.
       */
      public Builder setDefaultName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        defaultName_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearDefaultName() {
        defaultName_ = getDefaultInstance().getDefaultName();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @param value The bytes for defaultName to set.
       * @return This builder for chaining.
       */
      public Builder setDefaultNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        defaultName_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private java.lang.Object home_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The home.
       */
      public java.lang.String getHome() {
        java.lang.Object ref = home_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          home_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The bytes for home.
       */
      public com.google.protobuf.ByteString
          getHomeBytes() {
        java.lang.Object ref = home_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          home_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @param value The home to set.
       * @return This builder for chaining.
       */
      public Builder setHome(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        home_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearHome() {
        home_ = getDefaultInstance().getHome();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @param value The bytes for home to set.
       * @return This builder for chaining.
       */
      public Builder setHomeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        home_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private java.lang.Object room_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The room.
       */
      public java.lang.String getRoom() {
        java.lang.Object ref = room_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          room_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The bytes for room.
       */
      public com.google.protobuf.ByteString
          getRoomBytes() {
        java.lang.Object ref = room_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          room_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @param value The room to set.
       * @return This builder for chaining.
       */
      public Builder setRoom(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        room_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoom() {
        room_ = getDefaultInstance().getRoom();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @param value The bytes for room to set.
       * @return This builder for chaining.
       */
      public Builder setRoomBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        room_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringArrayList groups_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureGroupsIsMutable() {
        if (!groups_.isModifiable()) {
          groups_ = new com.google.protobuf.LazyStringArrayList(groups_);
        }
        bitField0_ |= 0x00000080;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return A list containing the groups.
       */
      public com.google.protobuf.ProtocolStringList
          getGroupsList() {
        groups_.makeImmutable();
        return groups_;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return The count of groups.
       */
      public int getGroupsCount() {
        return groups_.size();
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the element to return.
       * @return The groups at the given index.
       */
      public java.lang.String getGroups(int index) {
        return groups_.get(index);
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the value to return.
       * @return The bytes of the groups at the given index.
       */
      public com.google.protobuf.ByteString
          getGroupsBytes(int index) {
        return groups_.getByteString(index);
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index to set the value at.
       * @param value The groups to set.
       * @return This builder for chaining.
       */
      public Builder setGroups(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureGroupsIsMutable();
        groups_.set(index, value);
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param value The groups to add.
       * @return This builder for chaining.
       */
      public Builder addGroups(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureGroupsIsMutable();
        groups_.add(value);
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param values The groups to add.
       * @return This builder for chaining.
       */
      public Builder addAllGroups(
          java.lang.Iterable<java.lang.String> values) {
        ensureGroupsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, groups_);
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearGroups() {
        groups_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param value The bytes of the groups to add.
       * @return This builder for chaining.
       */
      public Builder addGroupsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ensureGroupsIsMutable();
        groups_.add(value);
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object modelId_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The modelId.
       */
      public java.lang.String getModelId() {
        java.lang.Object ref = modelId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          modelId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The bytes for modelId.
       */
      public com.google.protobuf.ByteString
          getModelIdBytes() {
        java.lang.Object ref = modelId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          modelId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @param value The modelId to set.
       * @return This builder for chaining.
       */
      public Builder setModelId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        modelId_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearModelId() {
        modelId_ = getDefaultInstance().getModelId();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @param value The bytes for modelId to set.
       * @return This builder for chaining.
       */
      public Builder setModelIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        modelId_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object hwVersion_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The hwVersion.
       */
      public java.lang.String getHwVersion() {
        java.lang.Object ref = hwVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          hwVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The bytes for hwVersion.
       */
      public com.google.protobuf.ByteString
          getHwVersionBytes() {
        java.lang.Object ref = hwVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hwVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @param value The hwVersion to set.
       * @return This builder for chaining.
       */
      public Builder setHwVersion(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        hwVersion_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearHwVersion() {
        hwVersion_ = getDefaultInstance().getHwVersion();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @param value The bytes for hwVersion to set.
       * @return This builder for chaining.
       */
      public Builder setHwVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        hwVersion_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object swVersion_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The swVersion.
       */
      public java.lang.String getSwVersion() {
        java.lang.Object ref = swVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          swVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The bytes for swVersion.
       */
      public com.google.protobuf.ByteString
          getSwVersionBytes() {
        java.lang.Object ref = swVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          swVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @param value The swVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSwVersion(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        swVersion_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearSwVersion() {
        swVersion_ = getDefaultInstance().getSwVersion();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @param value The bytes for swVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSwVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        swVersion_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.Device)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.Device)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetCallbackDevicesRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Запрос списка домофонов пользователя в виде связки квартира-домофон, к которым имеет доступ пользователь
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackDevicesRequest}
   */
  public static final class GetCallbackDevicesRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
      GetCallbackDevicesRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetCallbackDevicesRequest.newBuilder() to construct.
    private GetCallbackDevicesRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetCallbackDevicesRequest() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Запрос списка домофонов пользователя в виде связки квартира-домофон, к которым имеет доступ пользователь
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackDevicesRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetCallbackDevicesResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> 
        getDataList();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getData(int index);
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    int getDataCount();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    java.util.List<? extends ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder> 
        getDataOrBuilderList();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder getDataOrBuilder(
        int index);
  }
  /**
   * <pre>
   * Ответ на запрос списка домофонов пользователя в виде связки квартира-домофон, к которым имеет доступ пользователь
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackDevicesResponse}
   */
  public static final class GetCallbackDevicesResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
      GetCallbackDevicesResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetCallbackDevicesResponse.newBuilder() to construct.
    private GetCallbackDevicesResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetCallbackDevicesResponse() {
      data_ = java.util.Collections.emptyList();
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.Builder.class);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> data_;
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    @java.lang.Override
    public java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> getDataList() {
      return data_;
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder> 
        getDataOrBuilderList() {
      return data_;
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    @java.lang.Override
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getData(int index) {
      return data_.get(index);
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder getDataOrBuilder(
        int index) {
      return data_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < data_.size(); i++) {
        output.writeMessage(1, data_.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 < data_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, data_.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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse) obj;

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

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ответ на запрос списка домофонов пользователя в виде связки квартира-домофон, к которым имеет доступ пользователь
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackDevicesResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
        } else {
          data_ = null;
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse result) {
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            data_ = java.util.Collections.unmodifiableList(data_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse.getDefaultInstance()) return this;
        if (dataBuilder_ == null) {
          if (!other.data_.isEmpty()) {
            if (data_.isEmpty()) {
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDataIsMutable();
              data_.addAll(other.data_);
            }
            onChanged();
          }
        } else {
          if (!other.data_.isEmpty()) {
            if (dataBuilder_.isEmpty()) {
              dataBuilder_.dispose();
              dataBuilder_ = null;
              data_ = other.data_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dataBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDataFieldBuilder() : null;
            } else {
              dataBuilder_.addAllMessages(other.data_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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: {
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device m =
                    input.readMessage(
                        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.parser(),
                        extensionRegistry);
                if (dataBuilder_ == null) {
                  ensureDataIsMutable();
                  data_.add(m);
                } else {
                  dataBuilder_.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 (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> data_ =
        java.util.Collections.emptyList();
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          data_ = new java.util.ArrayList<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device>(data_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder> dataBuilder_;

      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> getDataList() {
        if (dataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(data_);
        } else {
          return dataBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public int getDataCount() {
        if (dataBuilder_ == null) {
          return data_.size();
        } else {
          return dataBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device getData(int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);
        } else {
          return dataBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder setData(
          int index, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.set(index, value);
          onChanged();
        } else {
          dataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder setData(
          int index, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder addData(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(value);
          onChanged();
        } else {
          dataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder addData(
          int index, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataIsMutable();
          data_.add(index, value);
          onChanged();
        } else {
          dataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder addData(
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder addData(
          int index, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder builderForValue) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<? extends ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device> values) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, data_);
          onChanged();
        } else {
          dataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public Builder removeData(int index) {
        if (dataBuilder_ == null) {
          ensureDataIsMutable();
          data_.remove(index);
          onChanged();
        } else {
          dataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder getDataBuilder(
          int index) {
        return getDataFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder getDataOrBuilder(
          int index) {
        if (dataBuilder_ == null) {
          return data_.get(index);  } else {
          return dataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public java.util.List<? extends ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder> 
           getDataOrBuilderList() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(data_);
        }
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder addDataBuilder() {
        return getDataFieldBuilder().addBuilder(
            ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.getDefaultInstance());
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder addDataBuilder(
          int index) {
        return getDataFieldBuilder().addBuilder(
            index, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.getDefaultInstance());
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated .keyapis.iot_connect.v1.Device data = 1;</code>
       */
      public java.util.List<ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder> 
           getDataBuilderList() {
        return getDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.Device.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.DeviceOrBuilder>(
                  data_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackDevicesResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackStatusRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackStatusRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @return A list containing the data.
     */
    java.util.List<java.lang.String>
        getDataList();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @return The count of data.
     */
    int getDataCount();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @param index The index of the element to return.
     * @return The data at the given index.
     */
    java.lang.String getData(int index);
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the data at the given index.
     */
    com.google.protobuf.ByteString
        getDataBytes(int index);
  }
  /**
   * <pre>
   * Запрос статуса домофонов пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusRequest}
   */
  public static final class PostCallbackStatusRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackStatusRequest)
      PostCallbackStatusRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackStatusRequest.newBuilder() to construct.
    private PostCallbackStatusRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackStatusRequest() {
      data_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.Builder.class);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList data_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @return A list containing the data.
     */
    public com.google.protobuf.ProtocolStringList
        getDataList() {
      return data_;
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @return The count of data.
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @param index The index of the element to return.
     * @return The data at the given index.
     */
    public java.lang.String getData(int index) {
      return data_.get(index);
    }
    /**
     * <pre>
     * Массив домофонов пользователя
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the data at the given index.
     */
    public com.google.protobuf.ByteString
        getDataBytes(int index) {
      return data_.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(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < data_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, data_.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 < data_.size(); i++) {
          dataSize += computeStringSizeNoTag(data_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getDataList().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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest) obj;

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

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Запрос статуса домофонов пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackStatusRequest)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        data_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          data_.makeImmutable();
          result.data_ = data_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest.getDefaultInstance()) return this;
        if (!other.data_.isEmpty()) {
          if (data_.isEmpty()) {
            data_ = other.data_;
            bitField0_ |= 0x00000001;
          } else {
            ensureDataIsMutable();
            data_.addAll(other.data_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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: {
                java.lang.String s = input.readStringRequireUtf8();
                ensureDataIsMutable();
                data_.add(s);
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.LazyStringArrayList data_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureDataIsMutable() {
        if (!data_.isModifiable()) {
          data_ = new com.google.protobuf.LazyStringArrayList(data_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @return A list containing the data.
       */
      public com.google.protobuf.ProtocolStringList
          getDataList() {
        data_.makeImmutable();
        return data_;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @return The count of data.
       */
      public int getDataCount() {
        return data_.size();
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param index The index of the element to return.
       * @return The data at the given index.
       */
      public java.lang.String getData(int index) {
        return data_.get(index);
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the data at the given index.
       */
      public com.google.protobuf.ByteString
          getDataBytes(int index) {
        return data_.getByteString(index);
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param index The index to set the value at.
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureDataIsMutable();
        data_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param value The data to add.
       * @return This builder for chaining.
       */
      public Builder addData(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureDataIsMutable();
        data_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param values The data to add.
       * @return This builder for chaining.
       */
      public Builder addAllData(
          java.lang.Iterable<java.lang.String> values) {
        ensureDataIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, data_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        data_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Массив домофонов пользователя
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       * @param value The bytes of the data to add.
       * @return This builder for chaining.
       */
      public Builder addDataBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ensureDataIsMutable();
        data_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackStatusRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusRequest)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackStatusResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackStatusResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     * @return The data.
     */
    ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getData();
    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     */
    ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder getDataOrBuilder();
  }
  /**
   * <pre>
   * Ответ на запрос статуса домофонов пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusResponse}
   */
  public static final class PostCallbackStatusResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackStatusResponse)
      PostCallbackStatusResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackStatusResponse.newBuilder() to construct.
    private PostCallbackStatusResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackStatusResponse() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Builder.class);
    }

    public interface StatusOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1;</code>
       * @return The userId.
       */
      int getUserId();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The id.
       */
      java.lang.String getId();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The bytes for id.
       */
      com.google.protobuf.ByteString
          getIdBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The parentId.
       */
      java.lang.String getParentId();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The bytes for parentId.
       */
      com.google.protobuf.ByteString
          getParentIdBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The name.
       */
      java.lang.String getName();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The defaultName.
       */
      java.lang.String getDefaultName();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The bytes for defaultName.
       */
      com.google.protobuf.ByteString
          getDefaultNameBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The home.
       */
      java.lang.String getHome();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The bytes for home.
       */
      com.google.protobuf.ByteString
          getHomeBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The room.
       */
      java.lang.String getRoom();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The bytes for room.
       */
      com.google.protobuf.ByteString
          getRoomBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return A list containing the groups.
       */
      java.util.List<java.lang.String>
          getGroupsList();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return The count of groups.
       */
      int getGroupsCount();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the element to return.
       * @return The groups at the given index.
       */
      java.lang.String getGroups(int index);
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the value to return.
       * @return The bytes of the groups at the given index.
       */
      com.google.protobuf.ByteString
          getGroupsBytes(int index);

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The modelId.
       */
      java.lang.String getModelId();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The bytes for modelId.
       */
      com.google.protobuf.ByteString
          getModelIdBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The hwVersion.
       */
      java.lang.String getHwVersion();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The bytes for hwVersion.
       */
      com.google.protobuf.ByteString
          getHwVersionBytes();

      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The swVersion.
       */
      java.lang.String getSwVersion();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The bytes for swVersion.
       */
      com.google.protobuf.ByteString
          getSwVersionBytes();
    }
    /**
     * <pre>
     * Коммент 1
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusResponse.Status}
     */
    public static final class Status extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
        StatusOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Status.newBuilder() to construct.
      private Status(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Status() {
        id_ = "";
        parentId_ = "";
        name_ = "";
        defaultName_ = "";
        home_ = "";
        room_ = "";
        groups_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        modelId_ = "";
        hwVersion_ = "";
        swVersion_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder.class);
      }

      public static final int USER_ID_FIELD_NUMBER = 1;
      private int userId_ = 0;
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1;</code>
       * @return The userId.
       */
      @java.lang.Override
      public int getUserId() {
        return userId_;
      }

      public static final int ID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object id_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string id = 2;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int PARENT_ID_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object parentId_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The parentId.
       */
      @java.lang.Override
      public java.lang.String getParentId() {
        java.lang.Object ref = parentId_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          parentId_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string parent_id = 3;</code>
       * @return The bytes for parentId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getParentIdBytes() {
        java.lang.Object ref = parentId_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          parentId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NAME_FIELD_NUMBER = 4;
      @SuppressWarnings("serial")
      private volatile java.lang.Object name_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string name = 4;</code>
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DEFAULT_NAME_FIELD_NUMBER = 5;
      @SuppressWarnings("serial")
      private volatile java.lang.Object defaultName_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The defaultName.
       */
      @java.lang.Override
      public java.lang.String getDefaultName() {
        java.lang.Object ref = defaultName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          defaultName_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string default_name = 5;</code>
       * @return The bytes for defaultName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getDefaultNameBytes() {
        java.lang.Object ref = defaultName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          defaultName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HOME_FIELD_NUMBER = 6;
      @SuppressWarnings("serial")
      private volatile java.lang.Object home_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The home.
       */
      @java.lang.Override
      public java.lang.String getHome() {
        java.lang.Object ref = home_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          home_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string home = 6;</code>
       * @return The bytes for home.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHomeBytes() {
        java.lang.Object ref = home_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          home_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ROOM_FIELD_NUMBER = 7;
      @SuppressWarnings("serial")
      private volatile java.lang.Object room_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The room.
       */
      @java.lang.Override
      public java.lang.String getRoom() {
        java.lang.Object ref = room_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          room_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string room = 7;</code>
       * @return The bytes for room.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRoomBytes() {
        java.lang.Object ref = room_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          room_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int GROUPS_FIELD_NUMBER = 8;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList groups_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return A list containing the groups.
       */
      public com.google.protobuf.ProtocolStringList
          getGroupsList() {
        return groups_;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @return The count of groups.
       */
      public int getGroupsCount() {
        return groups_.size();
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the element to return.
       * @return The groups at the given index.
       */
      public java.lang.String getGroups(int index) {
        return groups_.get(index);
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>repeated string groups = 8;</code>
       * @param index The index of the value to return.
       * @return The bytes of the groups at the given index.
       */
      public com.google.protobuf.ByteString
          getGroupsBytes(int index) {
        return groups_.getByteString(index);
      }

      public static final int MODEL_ID_FIELD_NUMBER = 9;
      @SuppressWarnings("serial")
      private volatile java.lang.Object modelId_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The modelId.
       */
      @java.lang.Override
      public java.lang.String getModelId() {
        java.lang.Object ref = modelId_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          modelId_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string model_id = 9;</code>
       * @return The bytes for modelId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getModelIdBytes() {
        java.lang.Object ref = modelId_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          modelId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HW_VERSION_FIELD_NUMBER = 10;
      @SuppressWarnings("serial")
      private volatile java.lang.Object hwVersion_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The hwVersion.
       */
      @java.lang.Override
      public java.lang.String getHwVersion() {
        java.lang.Object ref = hwVersion_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          hwVersion_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string hw_version = 10;</code>
       * @return The bytes for hwVersion.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHwVersionBytes() {
        java.lang.Object ref = hwVersion_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hwVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int SW_VERSION_FIELD_NUMBER = 11;
      @SuppressWarnings("serial")
      private volatile java.lang.Object swVersion_ = "";
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The swVersion.
       */
      @java.lang.Override
      public java.lang.String getSwVersion() {
        java.lang.Object ref = swVersion_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          swVersion_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * <code>string sw_version = 11;</code>
       * @return The bytes for swVersion.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSwVersionBytes() {
        java.lang.Object ref = swVersion_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          swVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (userId_ != 0) {
          output.writeInt32(1, userId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentId_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, parentId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultName_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 5, defaultName_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 6, home_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(room_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 7, room_);
        }
        for (int i = 0; i < groups_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 8, groups_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelId_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 9, modelId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hwVersion_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 10, hwVersion_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(swVersion_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 11, swVersion_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (userId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, userId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentId_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, parentId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultName_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, defaultName_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, home_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(room_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, room_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < groups_.size(); i++) {
            dataSize += computeStringSizeNoTag(groups_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getGroupsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelId_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, modelId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hwVersion_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, hwVersion_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(swVersion_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, swVersion_);
        }
        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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status)) {
          return super.equals(obj);
        }
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status) obj;

        if (getUserId()
            != other.getUserId()) return false;
        if (!getId()
            .equals(other.getId())) return false;
        if (!getParentId()
            .equals(other.getParentId())) return false;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getDefaultName()
            .equals(other.getDefaultName())) return false;
        if (!getHome()
            .equals(other.getHome())) return false;
        if (!getRoom()
            .equals(other.getRoom())) return false;
        if (!getGroupsList()
            .equals(other.getGroupsList())) return false;
        if (!getModelId()
            .equals(other.getModelId())) return false;
        if (!getHwVersion()
            .equals(other.getHwVersion())) return false;
        if (!getSwVersion()
            .equals(other.getSwVersion())) 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();
        hash = (37 * hash) + USER_ID_FIELD_NUMBER;
        hash = (53 * hash) + getUserId();
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getId().hashCode();
        hash = (37 * hash) + PARENT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getParentId().hashCode();
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + DEFAULT_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getDefaultName().hashCode();
        hash = (37 * hash) + HOME_FIELD_NUMBER;
        hash = (53 * hash) + getHome().hashCode();
        hash = (37 * hash) + ROOM_FIELD_NUMBER;
        hash = (53 * hash) + getRoom().hashCode();
        if (getGroupsCount() > 0) {
          hash = (37 * hash) + GROUPS_FIELD_NUMBER;
          hash = (53 * hash) + getGroupsList().hashCode();
        }
        hash = (37 * hash) + MODEL_ID_FIELD_NUMBER;
        hash = (53 * hash) + getModelId().hashCode();
        hash = (37 * hash) + HW_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getHwVersion().hashCode();
        hash = (37 * hash) + SW_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getSwVersion().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * <pre>
       * Коммент 1
       * </pre>
       *
       * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusResponse.Status}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder.class);
        }

        // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          userId_ = 0;
          id_ = "";
          parentId_ = "";
          name_ = "";
          defaultName_ = "";
          home_ = "";
          room_ = "";
          groups_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          modelId_ = "";
          hwVersion_ = "";
          swVersion_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor;
        }

        @java.lang.Override
        public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getDefaultInstanceForType() {
          return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance();
        }

        @java.lang.Override
        public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status build() {
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status buildPartial() {
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.userId_ = userId_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.id_ = id_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.parentId_ = parentId_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.name_ = name_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.defaultName_ = defaultName_;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.home_ = home_;
          }
          if (((from_bitField0_ & 0x00000040) != 0)) {
            result.room_ = room_;
          }
          if (((from_bitField0_ & 0x00000080) != 0)) {
            groups_.makeImmutable();
            result.groups_ = groups_;
          }
          if (((from_bitField0_ & 0x00000100) != 0)) {
            result.modelId_ = modelId_;
          }
          if (((from_bitField0_ & 0x00000200) != 0)) {
            result.hwVersion_ = hwVersion_;
          }
          if (((from_bitField0_ & 0x00000400) != 0)) {
            result.swVersion_ = swVersion_;
          }
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status) {
            return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status other) {
          if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance()) return this;
          if (other.getUserId() != 0) {
            setUserId(other.getUserId());
          }
          if (!other.getId().isEmpty()) {
            id_ = other.id_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (!other.getParentId().isEmpty()) {
            parentId_ = other.parentId_;
            bitField0_ |= 0x00000004;
            onChanged();
          }
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            bitField0_ |= 0x00000008;
            onChanged();
          }
          if (!other.getDefaultName().isEmpty()) {
            defaultName_ = other.defaultName_;
            bitField0_ |= 0x00000010;
            onChanged();
          }
          if (!other.getHome().isEmpty()) {
            home_ = other.home_;
            bitField0_ |= 0x00000020;
            onChanged();
          }
          if (!other.getRoom().isEmpty()) {
            room_ = other.room_;
            bitField0_ |= 0x00000040;
            onChanged();
          }
          if (!other.groups_.isEmpty()) {
            if (groups_.isEmpty()) {
              groups_ = other.groups_;
              bitField0_ |= 0x00000080;
            } else {
              ensureGroupsIsMutable();
              groups_.addAll(other.groups_);
            }
            onChanged();
          }
          if (!other.getModelId().isEmpty()) {
            modelId_ = other.modelId_;
            bitField0_ |= 0x00000100;
            onChanged();
          }
          if (!other.getHwVersion().isEmpty()) {
            hwVersion_ = other.hwVersion_;
            bitField0_ |= 0x00000200;
            onChanged();
          }
          if (!other.getSwVersion().isEmpty()) {
            swVersion_ = other.swVersion_;
            bitField0_ |= 0x00000400;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          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: {
                  userId_ = input.readInt32();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 18: {
                  id_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 26: {
                  parentId_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                case 34: {
                  name_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 34
                case 42: {
                  defaultName_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
                case 50: {
                  home_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 50
                case 58: {
                  room_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000040;
                  break;
                } // case 58
                case 66: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureGroupsIsMutable();
                  groups_.add(s);
                  break;
                } // case 66
                case 74: {
                  modelId_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000100;
                  break;
                } // case 74
                case 82: {
                  hwVersion_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000200;
                  break;
                } // case 82
                case 90: {
                  swVersion_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000400;
                  break;
                } // case 90
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private int userId_ ;
        /**
         * <pre>
         * Идентификатор пользователя
         * </pre>
         *
         * <code>int32 user_id = 1;</code>
         * @return The userId.
         */
        @java.lang.Override
        public int getUserId() {
          return userId_;
        }
        /**
         * <pre>
         * Идентификатор пользователя
         * </pre>
         *
         * <code>int32 user_id = 1;</code>
         * @param value The userId to set.
         * @return This builder for chaining.
         */
        public Builder setUserId(int value) {

          userId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Идентификатор пользователя
         * </pre>
         *
         * <code>int32 user_id = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearUserId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          userId_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object id_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string id = 2;</code>
         * @return The id.
         */
        public java.lang.String getId() {
          java.lang.Object ref = id_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            id_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string id = 2;</code>
         * @return The bytes for id.
         */
        public com.google.protobuf.ByteString
            getIdBytes() {
          java.lang.Object ref = id_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            id_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string id = 2;</code>
         * @param value The id to set.
         * @return This builder for chaining.
         */
        public Builder setId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          id_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string id = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearId() {
          id_ = getDefaultInstance().getId();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string id = 2;</code>
         * @param value The bytes for id to set.
         * @return This builder for chaining.
         */
        public Builder setIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          id_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private java.lang.Object parentId_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string parent_id = 3;</code>
         * @return The parentId.
         */
        public java.lang.String getParentId() {
          java.lang.Object ref = parentId_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            parentId_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string parent_id = 3;</code>
         * @return The bytes for parentId.
         */
        public com.google.protobuf.ByteString
            getParentIdBytes() {
          java.lang.Object ref = parentId_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            parentId_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string parent_id = 3;</code>
         * @param value The parentId to set.
         * @return This builder for chaining.
         */
        public Builder setParentId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          parentId_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string parent_id = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearParentId() {
          parentId_ = getDefaultInstance().getParentId();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string parent_id = 3;</code>
         * @param value The bytes for parentId to set.
         * @return This builder for chaining.
         */
        public Builder setParentIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          parentId_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string name = 4;</code>
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string name = 4;</code>
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string name = 4;</code>
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          name_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string name = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearName() {
          name_ = getDefaultInstance().getName();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string name = 4;</code>
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          name_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }

        private java.lang.Object defaultName_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string default_name = 5;</code>
         * @return The defaultName.
         */
        public java.lang.String getDefaultName() {
          java.lang.Object ref = defaultName_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            defaultName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string default_name = 5;</code>
         * @return The bytes for defaultName.
         */
        public com.google.protobuf.ByteString
            getDefaultNameBytes() {
          java.lang.Object ref = defaultName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            defaultName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string default_name = 5;</code>
         * @param value The defaultName to set.
         * @return This builder for chaining.
         */
        public Builder setDefaultName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          defaultName_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string default_name = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearDefaultName() {
          defaultName_ = getDefaultInstance().getDefaultName();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string default_name = 5;</code>
         * @param value The bytes for defaultName to set.
         * @return This builder for chaining.
         */
        public Builder setDefaultNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          defaultName_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }

        private java.lang.Object home_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string home = 6;</code>
         * @return The home.
         */
        public java.lang.String getHome() {
          java.lang.Object ref = home_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            home_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string home = 6;</code>
         * @return The bytes for home.
         */
        public com.google.protobuf.ByteString
            getHomeBytes() {
          java.lang.Object ref = home_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            home_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string home = 6;</code>
         * @param value The home to set.
         * @return This builder for chaining.
         */
        public Builder setHome(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          home_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string home = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearHome() {
          home_ = getDefaultInstance().getHome();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string home = 6;</code>
         * @param value The bytes for home to set.
         * @return This builder for chaining.
         */
        public Builder setHomeBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          home_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }

        private java.lang.Object room_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string room = 7;</code>
         * @return The room.
         */
        public java.lang.String getRoom() {
          java.lang.Object ref = room_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            room_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string room = 7;</code>
         * @return The bytes for room.
         */
        public com.google.protobuf.ByteString
            getRoomBytes() {
          java.lang.Object ref = room_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            room_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string room = 7;</code>
         * @param value The room to set.
         * @return This builder for chaining.
         */
        public Builder setRoom(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          room_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string room = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearRoom() {
          room_ = getDefaultInstance().getRoom();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string room = 7;</code>
         * @param value The bytes for room to set.
         * @return This builder for chaining.
         */
        public Builder setRoomBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          room_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }

        private com.google.protobuf.LazyStringArrayList groups_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureGroupsIsMutable() {
          if (!groups_.isModifiable()) {
            groups_ = new com.google.protobuf.LazyStringArrayList(groups_);
          }
          bitField0_ |= 0x00000080;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @return A list containing the groups.
         */
        public com.google.protobuf.ProtocolStringList
            getGroupsList() {
          groups_.makeImmutable();
          return groups_;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @return The count of groups.
         */
        public int getGroupsCount() {
          return groups_.size();
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param index The index of the element to return.
         * @return The groups at the given index.
         */
        public java.lang.String getGroups(int index) {
          return groups_.get(index);
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param index The index of the value to return.
         * @return The bytes of the groups at the given index.
         */
        public com.google.protobuf.ByteString
            getGroupsBytes(int index) {
          return groups_.getByteString(index);
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param index The index to set the value at.
         * @param value The groups to set.
         * @return This builder for chaining.
         */
        public Builder setGroups(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureGroupsIsMutable();
          groups_.set(index, value);
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param value The groups to add.
         * @return This builder for chaining.
         */
        public Builder addGroups(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureGroupsIsMutable();
          groups_.add(value);
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param values The groups to add.
         * @return This builder for chaining.
         */
        public Builder addAllGroups(
            java.lang.Iterable<java.lang.String> values) {
          ensureGroupsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, groups_);
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearGroups() {
          groups_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>repeated string groups = 8;</code>
         * @param value The bytes of the groups to add.
         * @return This builder for chaining.
         */
        public Builder addGroupsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureGroupsIsMutable();
          groups_.add(value);
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }

        private java.lang.Object modelId_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string model_id = 9;</code>
         * @return The modelId.
         */
        public java.lang.String getModelId() {
          java.lang.Object ref = modelId_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            modelId_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string model_id = 9;</code>
         * @return The bytes for modelId.
         */
        public com.google.protobuf.ByteString
            getModelIdBytes() {
          java.lang.Object ref = modelId_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            modelId_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string model_id = 9;</code>
         * @param value The modelId to set.
         * @return This builder for chaining.
         */
        public Builder setModelId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          modelId_ = value;
          bitField0_ |= 0x00000100;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string model_id = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearModelId() {
          modelId_ = getDefaultInstance().getModelId();
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string model_id = 9;</code>
         * @param value The bytes for modelId to set.
         * @return This builder for chaining.
         */
        public Builder setModelIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          modelId_ = value;
          bitField0_ |= 0x00000100;
          onChanged();
          return this;
        }

        private java.lang.Object hwVersion_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string hw_version = 10;</code>
         * @return The hwVersion.
         */
        public java.lang.String getHwVersion() {
          java.lang.Object ref = hwVersion_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            hwVersion_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string hw_version = 10;</code>
         * @return The bytes for hwVersion.
         */
        public com.google.protobuf.ByteString
            getHwVersionBytes() {
          java.lang.Object ref = hwVersion_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            hwVersion_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string hw_version = 10;</code>
         * @param value The hwVersion to set.
         * @return This builder for chaining.
         */
        public Builder setHwVersion(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          hwVersion_ = value;
          bitField0_ |= 0x00000200;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string hw_version = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearHwVersion() {
          hwVersion_ = getDefaultInstance().getHwVersion();
          bitField0_ = (bitField0_ & ~0x00000200);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string hw_version = 10;</code>
         * @param value The bytes for hwVersion to set.
         * @return This builder for chaining.
         */
        public Builder setHwVersionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          hwVersion_ = value;
          bitField0_ |= 0x00000200;
          onChanged();
          return this;
        }

        private java.lang.Object swVersion_ = "";
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string sw_version = 11;</code>
         * @return The swVersion.
         */
        public java.lang.String getSwVersion() {
          java.lang.Object ref = swVersion_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            swVersion_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string sw_version = 11;</code>
         * @return The bytes for swVersion.
         */
        public com.google.protobuf.ByteString
            getSwVersionBytes() {
          java.lang.Object ref = swVersion_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            swVersion_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string sw_version = 11;</code>
         * @param value The swVersion to set.
         * @return This builder for chaining.
         */
        public Builder setSwVersion(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          swVersion_ = value;
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string sw_version = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearSwVersion() {
          swVersion_ = getDefaultInstance().getSwVersion();
          bitField0_ = (bitField0_ & ~0x00000400);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Коммент 1
         * </pre>
         *
         * <code>string sw_version = 11;</code>
         * @param value The bytes for swVersion to set.
         * @return This builder for chaining.
         */
        public Builder setSwVersionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          swVersion_ = value;
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
      }

      // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
      private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status();
      }

      public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int DATA_FIELD_NUMBER = 1;
    private ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status data_;
    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     * @return The data.
     */
    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getData() {
      return data_ == null ? ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance() : data_;
    }
    /**
     * <pre>
     * Коммент
     * </pre>
     *
     * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder getDataOrBuilder() {
      return data_ == null ? ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance() : data_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (data_ != null) {
        output.writeMessage(1, getData());
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (data_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getData());
      }
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse) obj;

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

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ответ на запрос статуса домофонов пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackStatusResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackStatusResponse)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        data_ = null;
        if (dataBuilder_ != null) {
          dataBuilder_.dispose();
          dataBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.data_ = dataBuilder_ == null
              ? data_
              : dataBuilder_.build();
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.getDefaultInstance()) return this;
        if (other.hasData()) {
          mergeData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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(
                    getDataFieldBuilder().getBuilder(),
                    extensionRegistry);
                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 (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status data_;
      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder> dataBuilder_;
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       * @return Whether the data field is set.
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       * @return The data.
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public Builder setData(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
        } else {
          dataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public Builder setData(
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public Builder mergeData(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status value) {
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            data_ != null &&
            data_ != ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance()) {
            getDataBuilder().mergeFrom(value);
          } else {
            data_ = value;
          }
        } else {
          dataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = null;
        if (dataBuilder_ != null) {
          dataBuilder_.dispose();
          dataBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder getDataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.getDefaultInstance() : data_;
        }
      }
      /**
       * <pre>
       * Коммент
       * </pre>
       *
       * <code>.keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.Status.Builder, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse.StatusOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackStatusResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackCommandRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackCommandRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Запрос на изменение статуса домофона
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackCommandRequest}
   */
  public static final class PostCallbackCommandRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackCommandRequest)
      PostCallbackCommandRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackCommandRequest.newBuilder() to construct.
    private PostCallbackCommandRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackCommandRequest() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Запрос на изменение статуса домофона
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackCommandRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackCommandRequest)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackCommandRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackCommandRequest)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackCommandResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackCommandResponse)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Ответ на запрос на изменение статуса домофона
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackCommandResponse}
   */
  public static final class PostCallbackCommandResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackCommandResponse)
      PostCallbackCommandResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackCommandResponse.newBuilder() to construct.
    private PostCallbackCommandResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackCommandResponse() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ответ на запрос на изменение статуса домофона
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackCommandResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackCommandResponse)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackCommandResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackCommandResponse)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackCommandResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackUnlinkRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Запрос-информирование о разъединении аккаунтов
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackUnlinkRequest}
   */
  public static final class PostCallbackUnlinkRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
      PostCallbackUnlinkRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackUnlinkRequest.newBuilder() to construct.
    private PostCallbackUnlinkRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackUnlinkRequest() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Запрос-информирование о разъединении аккаунтов
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackUnlinkRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCallbackUnlinkResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Ответ на запрос-информирование о разъединении аккаунтов
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackUnlinkResponse}
   */
  public static final class PostCallbackUnlinkResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
      PostCallbackUnlinkResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCallbackUnlinkResponse.newBuilder() to construct.
    private PostCallbackUnlinkResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCallbackUnlinkResponse() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ответ на запрос-информирование о разъединении аккаунтов
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.PostCallbackUnlinkResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.PostCallbackUnlinkResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetCallbackUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.GetCallbackUserRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Запрос идентификатора пользователя Ключ
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackUserRequest}
   */
  public static final class GetCallbackUserRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.GetCallbackUserRequest)
      GetCallbackUserRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetCallbackUserRequest.newBuilder() to construct.
    private GetCallbackUserRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetCallbackUserRequest() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest) obj;

      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();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Запрос идентификатора пользователя Ключ
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.GetCallbackUserRequest)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.GetCallbackUserRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackUserRequest)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetCallbackUserResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.iot_connect.v1.GetCallbackUserResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 data = 1;</code>
     * @return The data.
     */
    int getData();
  }
  /**
   * <pre>
   * Ответ на запрос идентификатора пользователя Ключ
   * </pre>
   *
   * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackUserResponse}
   */
  public static final class GetCallbackUserResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.iot_connect.v1.GetCallbackUserResponse)
      GetCallbackUserResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetCallbackUserResponse.newBuilder() to construct.
    private GetCallbackUserResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetCallbackUserResponse() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.Builder.class);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    private int data_ = 0;
    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 data = 1;</code>
     * @return The data.
     */
    @java.lang.Override
    public int getData() {
      return data_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (data_ != 0) {
        output.writeInt32(1, data_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (data_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, data_);
      }
      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 ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse other = (ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse) obj;

      if (getData()
          != other.getData()) 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();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ответ на запрос идентификатора пользователя Ключ
     * </pre>
     *
     * Protobuf type {@code keyapis.iot_connect.v1.GetCallbackUserResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.iot_connect.v1.GetCallbackUserResponse)
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.class, ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.Builder.class);
      }

      // Construct using ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse getDefaultInstanceForType() {
        return ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse build() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse buildPartial() {
        ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse result = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.data_ = data_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse) {
          return mergeFrom((ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse other) {
        if (other == ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse.getDefaultInstance()) return this;
        if (other.getData() != 0) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        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: {
                data_ = input.readInt32();
                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 (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int data_ ;
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 data = 1;</code>
       * @return The data.
       */
      @java.lang.Override
      public int getData() {
        return data_;
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 data = 1;</code>
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(int value) {

        data_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 data = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:keyapis.iot_connect.v1.GetCallbackUserResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackUserResponse)
    private static final ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse();
    }

    public static ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public ru.keyapis.iot_connect.v1.KeyapisIotConnectV1Proto.GetCallbackUserResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_CommonError_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_CommonError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_Device_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_Device_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n<keyapis/iot_connect/v1/keyapis_iot_con" +
      "nect_callback_v1.proto\022\026keyapis.iot_conn" +
      "ect.v1\032\037google/protobuf/timestamp.proto\032" +
      "\034google/api/annotations.proto\032\037google/ap" +
      "i/field_behavior.proto\032\036google/protobuf/" +
      "wrappers.proto\"=\n\013CommonError\022\014\n\004code\030\001 " +
      "\001(\005\022\017\n\007message\030\002 \001(\t\022\017\n\007details\030\003 \001(\t\"\302\001" +
      "\n\006Device\022\017\n\007user_id\030\001 \001(\005\022\n\n\002id\030\002 \001(\t\022\021\n" +
      "\tparent_id\030\003 \001(\t\022\014\n\004name\030\004 \001(\t\022\024\n\014defaul" +
      "t_name\030\005 \001(\t\022\014\n\004home\030\006 \001(\t\022\014\n\004room\030\007 \001(\t" +
      "\022\016\n\006groups\030\010 \003(\t\022\020\n\010model_id\030\t \001(\t\022\022\n\nhw" +
      "_version\030\n \001(\t\022\022\n\nsw_version\030\013 \001(\t\"\033\n\031Ge" +
      "tCallbackDevicesRequest\"J\n\032GetCallbackDe" +
      "vicesResponse\022,\n\004data\030\001 \003(\0132\036.keyapis.io" +
      "t_connect.v1.Device\")\n\031PostCallbackStatu" +
      "sRequest\022\014\n\004data\030\001 \003(\t\"\252\002\n\032PostCallbackS" +
      "tatusResponse\022G\n\004data\030\001 \001(\01329.keyapis.io" +
      "t_connect.v1.PostCallbackStatusResponse." +
      "Status\032\302\001\n\006Status\022\017\n\007user_id\030\001 \001(\005\022\n\n\002id" +
      "\030\002 \001(\t\022\021\n\tparent_id\030\003 \001(\t\022\014\n\004name\030\004 \001(\t\022" +
      "\024\n\014default_name\030\005 \001(\t\022\014\n\004home\030\006 \001(\t\022\014\n\004r" +
      "oom\030\007 \001(\t\022\016\n\006groups\030\010 \003(\t\022\020\n\010model_id\030\t " +
      "\001(\t\022\022\n\nhw_version\030\n \001(\t\022\022\n\nsw_version\030\013 " +
      "\001(\t\"\034\n\032PostCallbackCommandRequest\"\035\n\033Pos" +
      "tCallbackCommandResponse\"\033\n\031PostCallback" +
      "UnlinkRequest\"\034\n\032PostCallbackUnlinkRespo" +
      "nse\"\030\n\026GetCallbackUserRequest\"\'\n\027GetCall" +
      "backUserResponse\022\014\n\004data\030\001 \001(\0052\354\006\n\031IotCo" +
      "nnectCallbackService\022\235\001\n\017GetCallbackUser" +
      "\022..keyapis.iot_connect.v1.GetCallbackUse" +
      "rRequest\032/.keyapis.iot_connect.v1.GetCal" +
      "lbackUserResponse\")\202\323\344\223\002#\022!/iot_connect/" +
      "api/v1/callback/user\022\251\001\n\022GetCallbackDevi" +
      "ces\0221.keyapis.iot_connect.v1.GetCallback" +
      "DevicesRequest\0322.keyapis.iot_connect.v1." +
      "GetCallbackDevicesResponse\",\202\323\344\223\002&\022$/iot" +
      "_connect/api/v1/callback/devices\022\250\001\n\022Pos" +
      "tCallbackStatus\0221.keyapis.iot_connect.v1" +
      ".PostCallbackStatusRequest\0322.keyapis.iot" +
      "_connect.v1.PostCallbackStatusResponse\"+" +
      "\202\323\344\223\002%\"#/iot_connect/api/v1/callback/sta" +
      "tus\022\254\001\n\023PostCallbackCommand\0222.keyapis.io" +
      "t_connect.v1.PostCallbackCommandRequest\032" +
      "3.keyapis.iot_connect.v1.PostCallbackCom" +
      "mandResponse\",\202\323\344\223\002&\"$/iot_connect/api/v" +
      "1/callback/command\022\250\001\n\022PostCallbackUnlin" +
      "k\0221.keyapis.iot_connect.v1.PostCallbackU" +
      "nlinkRequest\0322.keyapis.iot_connect.v1.Po" +
      "stCallbackUnlinkResponse\"+\202\323\344\223\002%\"#/iot_c" +
      "onnect/api/v1/callback/unlinkB\270\001\n\031ru.key" +
      "apis.iot_connect.v1B\030KeyapisIotConnectV1" +
      "ProtoH\003P\000Z\027/keyapis_iot_connect_v1\330\001\001\370\001\001" +
      "\242\002\023KEYAPISIOTCONNECTV1\252\002\025Keyapis.IotConn" +
      "ect.V1\312\002\025Keyapis\\IotConnect\\V1\352\002\027Keyapis" +
      "::IotConnect::V1b\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.TimestampProto.getDescriptor(),
          com.google.api.AnnotationsProto.getDescriptor(),
          com.google.api.FieldBehaviorProto.getDescriptor(),
          com.google.protobuf.WrappersProto.getDescriptor(),
        });
    internal_static_keyapis_iot_connect_v1_CommonError_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_keyapis_iot_connect_v1_CommonError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_CommonError_descriptor,
        new java.lang.String[] { "Code", "Message", "Details", });
    internal_static_keyapis_iot_connect_v1_Device_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_keyapis_iot_connect_v1_Device_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_Device_descriptor,
        new java.lang.String[] { "UserId", "Id", "ParentId", "Name", "DefaultName", "Home", "Room", "Groups", "ModelId", "HwVersion", "SwVersion", });
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_GetCallbackDevicesRequest_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_GetCallbackDevicesResponse_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackStatusRequest_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor =
      internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_descriptor.getNestedTypes().get(0);
    internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackStatusResponse_Status_descriptor,
        new java.lang.String[] { "UserId", "Id", "ParentId", "Name", "DefaultName", "Home", "Room", "Groups", "ModelId", "HwVersion", "SwVersion", });
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackCommandRequest_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackCommandResponse_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkRequest_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_PostCallbackUnlinkResponse_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_GetCallbackUserRequest_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_iot_connect_v1_GetCallbackUserResponse_descriptor,
        new java.lang.String[] { "Data", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(com.google.api.AnnotationsProto.http);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.protobuf.TimestampProto.getDescriptor();
    com.google.api.AnnotationsProto.getDescriptor();
    com.google.api.FieldBehaviorProto.getDescriptor();
    com.google.protobuf.WrappersProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
