text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: google/pubsub/v1beta2/pubsub.proto
  
  #include "google/pubsub/v1beta2/pubsub.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.h>
  #include <google/protobuf/stubs/port.h>
  #include <google/protobuf/stubs/once.h>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/wire_format_lite_inl.h>
  #include <google/protobuf/descriptor.h>
  #include <google/protobuf/generated_message_reflection.h>
  #include <google/protobuf/reflection_ops.h>
  #include <google/protobuf/wire_format.h>
  // This is a temporary google only hack
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
  #include "third_party/protobuf/version.h"
  #endif
  // @@protoc_insertion_point(includes)
  namespace google {
  namespace pubsub {
  namespace v1beta2 {
  class TopicDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<Topic>
        _instance;
  } _Topic_default_instance_;
  class PubsubMessage_AttributesEntry_DoNotUseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PubsubMessage_AttributesEntry_DoNotUse>
        _instance;
  } _PubsubMessage_AttributesEntry_DoNotUse_default_instance_;
  class PubsubMessageDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PubsubMessage>
        _instance;
  } _PubsubMessage_default_instance_;
  class GetTopicRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<GetTopicRequest>
        _instance;
  } _GetTopicRequest_default_instance_;
  class PublishRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PublishRequest>
        _instance;
  } _PublishRequest_default_instance_;
  class PublishResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PublishResponse>
        _instance;
  } _PublishResponse_default_instance_;
  class ListTopicsRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListTopicsRequest>
        _instance;
  } _ListTopicsRequest_default_instance_;
  class ListTopicsResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListTopicsResponse>
        _instance;
  } _ListTopicsResponse_default_instance_;
  class ListTopicSubscriptionsRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListTopicSubscriptionsRequest>
        _instance;
  } _ListTopicSubscriptionsRequest_default_instance_;
  class ListTopicSubscriptionsResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListTopicSubscriptionsResponse>
        _instance;
  } _ListTopicSubscriptionsResponse_default_instance_;
  class DeleteTopicRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<DeleteTopicRequest>
        _instance;
  } _DeleteTopicRequest_default_instance_;
  class SubscriptionDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<Subscription>
        _instance;
  } _Subscription_default_instance_;
  class PushConfig_AttributesEntry_DoNotUseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PushConfig_AttributesEntry_DoNotUse>
        _instance;
  } _PushConfig_AttributesEntry_DoNotUse_default_instance_;
  class PushConfigDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PushConfig>
        _instance;
  } _PushConfig_default_instance_;
  class ReceivedMessageDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ReceivedMessage>
        _instance;
  } _ReceivedMessage_default_instance_;
  class GetSubscriptionRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<GetSubscriptionRequest>
        _instance;
  } _GetSubscriptionRequest_default_instance_;
  class ListSubscriptionsRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListSubscriptionsRequest>
        _instance;
  } _ListSubscriptionsRequest_default_instance_;
  class ListSubscriptionsResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ListSubscriptionsResponse>
        _instance;
  } _ListSubscriptionsResponse_default_instance_;
  class DeleteSubscriptionRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<DeleteSubscriptionRequest>
        _instance;
  } _DeleteSubscriptionRequest_default_instance_;
  class ModifyPushConfigRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ModifyPushConfigRequest>
        _instance;
  } _ModifyPushConfigRequest_default_instance_;
  class PullRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PullRequest>
        _instance;
  } _PullRequest_default_instance_;
  class PullResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<PullResponse>
        _instance;
  } _PullResponse_default_instance_;
  class ModifyAckDeadlineRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<ModifyAckDeadlineRequest>
        _instance;
  } _ModifyAckDeadlineRequest_default_instance_;
  class AcknowledgeRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<AcknowledgeRequest>
        _instance;
  } _AcknowledgeRequest_default_instance_;
  }  // namespace v1beta2
  }  // namespace pubsub
  }  // namespace google
  namespace protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto {
  void InitDefaultsTopicImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_Topic_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::Topic();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::Topic::InitAsDefaultInstance();
  }
  
  void InitDefaultsTopic() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsTopicImpl);
  }
  
  void InitDefaultsPubsubMessage_AttributesEntry_DoNotUseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_PubsubMessage_AttributesEntry_DoNotUse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse();
    }
    ::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse::InitAsDefaultInstance();
  }
  
  void InitDefaultsPubsubMessage_AttributesEntry_DoNotUse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPubsubMessage_AttributesEntry_DoNotUseImpl);
  }
  
  void InitDefaultsPubsubMessageImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPubsubMessage_AttributesEntry_DoNotUse();
    {
      void* ptr = &::google::pubsub::v1beta2::_PubsubMessage_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PubsubMessage();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PubsubMessage::InitAsDefaultInstance();
  }
  
  void InitDefaultsPubsubMessage() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPubsubMessageImpl);
  }
  
  void InitDefaultsGetTopicRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_GetTopicRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::GetTopicRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::GetTopicRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsGetTopicRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsGetTopicRequestImpl);
  }
  
  void InitDefaultsPublishRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPubsubMessage();
    {
      void* ptr = &::google::pubsub::v1beta2::_PublishRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PublishRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PublishRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsPublishRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPublishRequestImpl);
  }
  
  void InitDefaultsPublishResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_PublishResponse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PublishResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PublishResponse::InitAsDefaultInstance();
  }
  
  void InitDefaultsPublishResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPublishResponseImpl);
  }
  
  void InitDefaultsListTopicsRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_ListTopicsRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListTopicsRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListTopicsRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsListTopicsRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListTopicsRequestImpl);
  }
  
  void InitDefaultsListTopicsResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsTopic();
    {
      void* ptr = &::google::pubsub::v1beta2::_ListTopicsResponse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListTopicsResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListTopicsResponse::InitAsDefaultInstance();
  }
  
  void InitDefaultsListTopicsResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListTopicsResponseImpl);
  }
  
  void InitDefaultsListTopicSubscriptionsRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_ListTopicSubscriptionsRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListTopicSubscriptionsRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListTopicSubscriptionsRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsListTopicSubscriptionsRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListTopicSubscriptionsRequestImpl);
  }
  
  void InitDefaultsListTopicSubscriptionsResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_ListTopicSubscriptionsResponse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListTopicSubscriptionsResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListTopicSubscriptionsResponse::InitAsDefaultInstance();
  }
  
  void InitDefaultsListTopicSubscriptionsResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListTopicSubscriptionsResponseImpl);
  }
  
  void InitDefaultsDeleteTopicRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_DeleteTopicRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::DeleteTopicRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::DeleteTopicRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsDeleteTopicRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDeleteTopicRequestImpl);
  }
  
  void InitDefaultsSubscriptionImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPushConfig();
    {
      void* ptr = &::google::pubsub::v1beta2::_Subscription_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::Subscription();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::Subscription::InitAsDefaultInstance();
  }
  
  void InitDefaultsSubscription() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSubscriptionImpl);
  }
  
  void InitDefaultsPushConfig_AttributesEntry_DoNotUseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_PushConfig_AttributesEntry_DoNotUse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse();
    }
    ::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse::InitAsDefaultInstance();
  }
  
  void InitDefaultsPushConfig_AttributesEntry_DoNotUse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPushConfig_AttributesEntry_DoNotUseImpl);
  }
  
  void InitDefaultsPushConfigImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPushConfig_AttributesEntry_DoNotUse();
    {
      void* ptr = &::google::pubsub::v1beta2::_PushConfig_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PushConfig();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PushConfig::InitAsDefaultInstance();
  }
  
  void InitDefaultsPushConfig() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPushConfigImpl);
  }
  
  void InitDefaultsReceivedMessageImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPubsubMessage();
    {
      void* ptr = &::google::pubsub::v1beta2::_ReceivedMessage_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ReceivedMessage();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ReceivedMessage::InitAsDefaultInstance();
  }
  
  void InitDefaultsReceivedMessage() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsReceivedMessageImpl);
  }
  
  void InitDefaultsGetSubscriptionRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_GetSubscriptionRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::GetSubscriptionRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::GetSubscriptionRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsGetSubscriptionRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsGetSubscriptionRequestImpl);
  }
  
  void InitDefaultsListSubscriptionsRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_ListSubscriptionsRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListSubscriptionsRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListSubscriptionsRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsListSubscriptionsRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListSubscriptionsRequestImpl);
  }
  
  void InitDefaultsListSubscriptionsResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsSubscription();
    {
      void* ptr = &::google::pubsub::v1beta2::_ListSubscriptionsResponse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ListSubscriptionsResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ListSubscriptionsResponse::InitAsDefaultInstance();
  }
  
  void InitDefaultsListSubscriptionsResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsListSubscriptionsResponseImpl);
  }
  
  void InitDefaultsDeleteSubscriptionRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_DeleteSubscriptionRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::DeleteSubscriptionRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::DeleteSubscriptionRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsDeleteSubscriptionRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsDeleteSubscriptionRequestImpl);
  }
  
  void InitDefaultsModifyPushConfigRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPushConfig();
    {
      void* ptr = &::google::pubsub::v1beta2::_ModifyPushConfigRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ModifyPushConfigRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ModifyPushConfigRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsModifyPushConfigRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsModifyPushConfigRequestImpl);
  }
  
  void InitDefaultsPullRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_PullRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PullRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PullRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsPullRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPullRequestImpl);
  }
  
  void InitDefaultsPullResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsReceivedMessage();
    {
      void* ptr = &::google::pubsub::v1beta2::_PullResponse_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::PullResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::PullResponse::InitAsDefaultInstance();
  }
  
  void InitDefaultsPullResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPullResponseImpl);
  }
  
  void InitDefaultsModifyAckDeadlineRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_ModifyAckDeadlineRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::ModifyAckDeadlineRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::ModifyAckDeadlineRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsModifyAckDeadlineRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsModifyAckDeadlineRequestImpl);
  }
  
  void InitDefaultsAcknowledgeRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::google::pubsub::v1beta2::_AcknowledgeRequest_default_instance_;
      new (ptr) ::google::pubsub::v1beta2::AcknowledgeRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::google::pubsub::v1beta2::AcknowledgeRequest::InitAsDefaultInstance();
  }
  
  void InitDefaultsAcknowledgeRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAcknowledgeRequestImpl);
  }
  
  ::google::protobuf::Metadata file_level_metadata[24];
  
  const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Topic, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Topic, name_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse, key_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse, value_),
    0,
    1,
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage, data_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage, attributes_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PubsubMessage, message_id_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::GetTopicRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::GetTopicRequest, topic_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PublishRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PublishRequest, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PublishRequest, messages_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PublishResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PublishResponse, message_ids_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsRequest, project_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsRequest, page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsResponse, topics_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicsResponse, next_page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsRequest, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsRequest, page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsResponse, subscriptions_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListTopicSubscriptionsResponse, next_page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::DeleteTopicRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::DeleteTopicRequest, topic_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Subscription, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Subscription, name_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Subscription, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Subscription, push_config_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::Subscription, ack_deadline_seconds_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse, key_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse, value_),
    0,
    1,
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig, push_endpoint_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PushConfig, attributes_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ReceivedMessage, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ReceivedMessage, ack_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ReceivedMessage, message_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::GetSubscriptionRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::GetSubscriptionRequest, subscription_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsRequest, project_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsRequest, page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsResponse, subscriptions_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ListSubscriptionsResponse, next_page_token_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::DeleteSubscriptionRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::DeleteSubscriptionRequest, subscription_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyPushConfigRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyPushConfigRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyPushConfigRequest, push_config_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullRequest, return_immediately_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullRequest, max_messages_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::PullResponse, received_messages_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyAckDeadlineRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyAckDeadlineRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyAckDeadlineRequest, ack_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::ModifyAckDeadlineRequest, ack_deadline_seconds_),
    ~0u,  // no _has_bits_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::AcknowledgeRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::AcknowledgeRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::pubsub::v1beta2::AcknowledgeRequest, ack_ids_),
  };
  static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
    { 0, -1, sizeof(::google::pubsub::v1beta2::Topic)},
    { 6, 13, sizeof(::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_DoNotUse)},
    { 15, -1, sizeof(::google::pubsub::v1beta2::PubsubMessage)},
    { 23, -1, sizeof(::google::pubsub::v1beta2::GetTopicRequest)},
    { 29, -1, sizeof(::google::pubsub::v1beta2::PublishRequest)},
    { 36, -1, sizeof(::google::pubsub::v1beta2::PublishResponse)},
    { 42, -1, sizeof(::google::pubsub::v1beta2::ListTopicsRequest)},
    { 50, -1, sizeof(::google::pubsub::v1beta2::ListTopicsResponse)},
    { 57, -1, sizeof(::google::pubsub::v1beta2::ListTopicSubscriptionsRequest)},
    { 65, -1, sizeof(::google::pubsub::v1beta2::ListTopicSubscriptionsResponse)},
    { 72, -1, sizeof(::google::pubsub::v1beta2::DeleteTopicRequest)},
    { 78, -1, sizeof(::google::pubsub::v1beta2::Subscription)},
    { 87, 94, sizeof(::google::pubsub::v1beta2::PushConfig_AttributesEntry_DoNotUse)},
    { 96, -1, sizeof(::google::pubsub::v1beta2::PushConfig)},
    { 103, -1, sizeof(::google::pubsub::v1beta2::ReceivedMessage)},
    { 110, -1, sizeof(::google::pubsub::v1beta2::GetSubscriptionRequest)},
    { 116, -1, sizeof(::google::pubsub::v1beta2::ListSubscriptionsRequest)},
    { 124, -1, sizeof(::google::pubsub::v1beta2::ListSubscriptionsResponse)},
    { 131, -1, sizeof(::google::pubsub::v1beta2::DeleteSubscriptionRequest)},
    { 137, -1, sizeof(::google::pubsub::v1beta2::ModifyPushConfigRequest)},
    { 144, -1, sizeof(::google::pubsub::v1beta2::PullRequest)},
    { 152, -1, sizeof(::google::pubsub::v1beta2::PullResponse)},
    { 158, -1, sizeof(::google::pubsub::v1beta2::ModifyAckDeadlineRequest)},
    { 166, -1, sizeof(::google::pubsub::v1beta2::AcknowledgeRequest)},
  };
  
  static ::google::protobuf::Message const * const file_default_instances[] = {
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_Topic_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PubsubMessage_AttributesEntry_DoNotUse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PubsubMessage_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_GetTopicRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PublishRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PublishResponse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListTopicsRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListTopicsResponse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListTopicSubscriptionsRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListTopicSubscriptionsResponse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_DeleteTopicRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_Subscription_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PushConfig_AttributesEntry_DoNotUse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PushConfig_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ReceivedMessage_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_GetSubscriptionRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListSubscriptionsRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ListSubscriptionsResponse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_DeleteSubscriptionRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ModifyPushConfigRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PullRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_PullResponse_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_ModifyAckDeadlineRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::google::pubsub::v1beta2::_AcknowledgeRequest_default_instance_),
  };
  
  void protobuf_AssignDescriptors() {
    AddDescriptors();
    ::google::protobuf::MessageFactory* factory = NULL;
    AssignDescriptors(
        "google/pubsub/v1beta2/pubsub.proto", schemas, file_default_instances, TableStruct::offsets, factory,
        file_level_metadata, NULL, NULL);
  }
  
  void protobuf_AssignDescriptorsOnce() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
  }
  
  void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
  void protobuf_RegisterTypes(const ::std::string&) {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 24);
  }
  
  void AddDescriptorsImpl() {
    InitDefaults();
    static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        "\n\"google/pubsub/v1beta2/pubsub.proto\022\025go"
        "ogle.pubsub.v1beta2\032\033google/protobuf/emp"
        "ty.proto\"\025\n\005Topic\022\014\n\004name\030\001 \001(\t\"\256\001\n\rPubs"
        "ubMessage\022\014\n\004data\030\001 \001(\014\022H\n\nattributes\030\002 "
        "\003(\01324.google.pubsub.v1beta2.PubsubMessag"
        "e.AttributesEntry\022\022\n\nmessage_id\030\003 \001(\t\0321\n"
        "\017AttributesEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002"
        " \001(\t:\0028\001\" \n\017GetTopicRequest\022\r\n\005topic\030\001 \001"
        "(\t\"W\n\016PublishRequest\022\r\n\005topic\030\001 \001(\t\0226\n\010m"
        "essages\030\002 \003(\0132$.google.pubsub.v1beta2.Pu"
        "bsubMessage\"&\n\017PublishResponse\022\023\n\013messag"
        "e_ids\030\001 \003(\t\"K\n\021ListTopicsRequest\022\017\n\007proj"
        "ect\030\001 \001(\t\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_tok"
        "en\030\003 \001(\t\"[\n\022ListTopicsResponse\022,\n\006topics"
        "\030\001 \003(\0132\034.google.pubsub.v1beta2.Topic\022\027\n\017"
        "next_page_token\030\002 \001(\t\"U\n\035ListTopicSubscr"
        "iptionsRequest\022\r\n\005topic\030\001 \001(\t\022\021\n\tpage_si"
        "ze\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"P\n\036ListTopi"
        "cSubscriptionsResponse\022\025\n\rsubscriptions\030"
        "\001 \003(\t\022\027\n\017next_page_token\030\002 \001(\t\"#\n\022Delete"
        "TopicRequest\022\r\n\005topic\030\001 \001(\t\"\201\001\n\014Subscrip"
        "tion\022\014\n\004name\030\001 \001(\t\022\r\n\005topic\030\002 \001(\t\0226\n\013pus"
        "h_config\030\004 \001(\0132!.google.pubsub.v1beta2.P"
        "ushConfig\022\034\n\024ack_deadline_seconds\030\005 \001(\005\""
        "\235\001\n\nPushConfig\022\025\n\rpush_endpoint\030\001 \001(\t\022E\n"
        "\nattributes\030\002 \003(\01321.google.pubsub.v1beta"
        "2.PushConfig.AttributesEntry\0321\n\017Attribut"
        "esEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\""
        "X\n\017ReceivedMessage\022\016\n\006ack_id\030\001 \001(\t\0225\n\007me"
        "ssage\030\002 \001(\0132$.google.pubsub.v1beta2.Pubs"
        "ubMessage\".\n\026GetSubscriptionRequest\022\024\n\014s"
        "ubscription\030\001 \001(\t\"R\n\030ListSubscriptionsRe"
        "quest\022\017\n\007project\030\001 \001(\t\022\021\n\tpage_size\030\002 \001("
        "\005\022\022\n\npage_token\030\003 \001(\t\"p\n\031ListSubscriptio"
        "nsResponse\022:\n\rsubscriptions\030\001 \003(\0132#.goog"
        "le.pubsub.v1beta2.Subscription\022\027\n\017next_p"
        "age_token\030\002 \001(\t\"1\n\031DeleteSubscriptionReq"
        "uest\022\024\n\014subscription\030\001 \001(\t\"g\n\027ModifyPush"
        "ConfigRequest\022\024\n\014subscription\030\001 \001(\t\0226\n\013p"
        "ush_config\030\002 \001(\0132!.google.pubsub.v1beta2"
        ".PushConfig\"U\n\013PullRequest\022\024\n\014subscripti"
        "on\030\001 \001(\t\022\032\n\022return_immediately\030\002 \001(\010\022\024\n\014"
        "max_messages\030\003 \001(\005\"Q\n\014PullResponse\022A\n\021re"
        "ceived_messages\030\001 \003(\0132&.google.pubsub.v1"
        "beta2.ReceivedMessage\"^\n\030ModifyAckDeadli"
        "neRequest\022\024\n\014subscription\030\001 \001(\t\022\016\n\006ack_i"
        "d\030\002 \001(\t\022\034\n\024ack_deadline_seconds\030\003 \001(\005\";\n"
        "\022AcknowledgeRequest\022\024\n\014subscription\030\001 \001("
        "\t\022\017\n\007ack_ids\030\002 \003(\t2\210\006\n\nSubscriber\022^\n\022Cre"
        "ateSubscription\022#.google.pubsub.v1beta2."
        "Subscription\032#.google.pubsub.v1beta2.Sub"
        "scription\022e\n\017GetSubscription\022-.google.pu"
        "bsub.v1beta2.GetSubscriptionRequest\032#.go"
        "ogle.pubsub.v1beta2.Subscription\022v\n\021List"
        "Subscriptions\022/.google.pubsub.v1beta2.Li"
        "stSubscriptionsRequest\0320.google.pubsub.v"
        "1beta2.ListSubscriptionsResponse\022^\n\022Dele"
        "teSubscription\0220.google.pubsub.v1beta2.D"
        "eleteSubscriptionRequest\032\026.google.protob"
        "uf.Empty\022\\\n\021ModifyAckDeadline\022/.google.p"
        "ubsub.v1beta2.ModifyAckDeadlineRequest\032\026"
        ".google.protobuf.Empty\022P\n\013Acknowledge\022)."
        "google.pubsub.v1beta2.AcknowledgeRequest"
        "\032\026.google.protobuf.Empty\022O\n\004Pull\022\".googl"
        "e.pubsub.v1beta2.PullRequest\032#.google.pu"
        "bsub.v1beta2.PullResponse\022Z\n\020ModifyPushC"
        "onfig\022..google.pubsub.v1beta2.ModifyPush"
        "ConfigRequest\032\026.google.protobuf.Empty2\277\004"
        "\n\tPublisher\022I\n\013CreateTopic\022\034.google.pubs"
        "ub.v1beta2.Topic\032\034.google.pubsub.v1beta2"
        ".Topic\022X\n\007Publish\022%.google.pubsub.v1beta"
        "2.PublishRequest\032&.google.pubsub.v1beta2"
        ".PublishResponse\022P\n\010GetTopic\022&.google.pu"
        "bsub.v1beta2.GetTopicRequest\032\034.google.pu"
        "bsub.v1beta2.Topic\022a\n\nListTopics\022(.googl"
        "e.pubsub.v1beta2.ListTopicsRequest\032).goo"
        "gle.pubsub.v1beta2.ListTopicsResponse\022\205\001"
        "\n\026ListTopicSubscriptions\0224.google.pubsub"
        ".v1beta2.ListTopicSubscriptionsRequest\0325"
        ".google.pubsub.v1beta2.ListTopicSubscrip"
        "tionsResponse\022P\n\013DeleteTopic\022).google.pu"
        "bsub.v1beta2.DeleteTopicRequest\032\026.google"
        ".protobuf.EmptyBg\n\031com.google.pubsub.v1b"
        "eta2B\013PubsubProtoP\001Z;google.golang.org/g"
        "enproto/googleapis/pubsub/v1beta2;pubsub"
        "b\006proto3"
    };
    ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
        descriptor, 3408);
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
      "google/pubsub/v1beta2/pubsub.proto", &protobuf_RegisterTypes);
    ::protobuf_google_2fprotobuf_2fempty_2eproto::AddDescriptors();
  }
  
  void AddDescriptors() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
  }
  // Force AddDescriptors() to be called at dynamic initialization time.
  struct StaticDescriptorInitializer {
    StaticDescriptorInitializer() {
      AddDescriptors();
    }
  } static_descriptor_initializer;
  }  // namespace protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto
  namespace google {
  namespace pubsub {
  namespace v1beta2 {
  
  // ===================================================================
  
  void Topic::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int Topic::kNameFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  Topic::Topic()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsTopic();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.Topic)
  }
  Topic::Topic(const Topic& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.name().size() > 0) {
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.Topic)
  }
  
  void Topic::SharedCtor() {
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  Topic::~Topic() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.Topic)
    SharedDtor();
  }
  
  void Topic::SharedDtor() {
    name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void Topic::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* Topic::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const Topic& Topic::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsTopic();
    return *internal_default_instance();
  }
  
  Topic* Topic::New(::google::protobuf::Arena* arena) const {
    Topic* n = new Topic;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void Topic::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.Topic)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool Topic::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.Topic)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string name = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_name()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->name().data(), static_cast<int>(this->name().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.Topic.name"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.Topic)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.Topic)
    return false;
  #undef DO_
  }
  
  void Topic::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.Topic)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string name = 1;
    if (this->name().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Topic.name");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->name(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.Topic)
  }
  
  ::google::protobuf::uint8* Topic::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.Topic)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string name = 1;
    if (this->name().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Topic.name");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->name(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.Topic)
    return target;
  }
  
  size_t Topic::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.Topic)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string name = 1;
    if (this->name().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void Topic::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.Topic)
    GOOGLE_DCHECK_NE(&from, this);
    const Topic* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const Topic>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.Topic)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.Topic)
      MergeFrom(*source);
    }
  }
  
  void Topic::MergeFrom(const Topic& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.Topic)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.name().size() > 0) {
  
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
  }
  
  void Topic::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.Topic)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void Topic::CopyFrom(const Topic& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.Topic)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool Topic::IsInitialized() const {
    return true;
  }
  
  void Topic::Swap(Topic* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void Topic::InternalSwap(Topic* other) {
    using std::swap;
    name_.Swap(&other->name_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata Topic::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  PubsubMessage_AttributesEntry_DoNotUse::PubsubMessage_AttributesEntry_DoNotUse() {}
  PubsubMessage_AttributesEntry_DoNotUse::PubsubMessage_AttributesEntry_DoNotUse(::google::protobuf::Arena* arena) : SuperType(arena) {}
  void PubsubMessage_AttributesEntry_DoNotUse::MergeFrom(const PubsubMessage_AttributesEntry_DoNotUse& other) {
    MergeFromInternal(other);
  }
  ::google::protobuf::Metadata PubsubMessage_AttributesEntry_DoNotUse::GetMetadata() const {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[1];
  }
  void PubsubMessage_AttributesEntry_DoNotUse::MergeFrom(
      const ::google::protobuf::Message& other) {
    ::google::protobuf::Message::MergeFrom(other);
  }
  
  
  // ===================================================================
  
  void PubsubMessage::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PubsubMessage::kDataFieldNumber;
  const int PubsubMessage::kAttributesFieldNumber;
  const int PubsubMessage::kMessageIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PubsubMessage::PubsubMessage()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPubsubMessage();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PubsubMessage)
  }
  PubsubMessage::PubsubMessage(const PubsubMessage& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    attributes_.MergeFrom(from.attributes_);
    data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.data().size() > 0) {
      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
    }
    message_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.message_id().size() > 0) {
      message_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_id_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PubsubMessage)
  }
  
  void PubsubMessage::SharedCtor() {
    data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    message_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  PubsubMessage::~PubsubMessage() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PubsubMessage)
    SharedDtor();
  }
  
  void PubsubMessage::SharedDtor() {
    data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    message_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void PubsubMessage::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PubsubMessage::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PubsubMessage& PubsubMessage::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPubsubMessage();
    return *internal_default_instance();
  }
  
  PubsubMessage* PubsubMessage::New(::google::protobuf::Arena* arena) const {
    PubsubMessage* n = new PubsubMessage;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PubsubMessage::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PubsubMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    attributes_.Clear();
    data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    message_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool PubsubMessage::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PubsubMessage)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // bytes data = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_data()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // map<string, string> attributes = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            PubsubMessage_AttributesEntry_DoNotUse::Parser< ::google::protobuf::internal::MapField<
                PubsubMessage_AttributesEntry_DoNotUse,
                ::std::string, ::std::string,
                ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                0 >,
              ::google::protobuf::Map< ::std::string, ::std::string > > parser(&attributes_);
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, &parser));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              parser.key().data(), static_cast<int>(parser.key().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key"));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              parser.value().data(), static_cast<int>(parser.value().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string message_id = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_message_id()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->message_id().data(), static_cast<int>(this->message_id().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PubsubMessage.message_id"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PubsubMessage)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PubsubMessage)
    return false;
  #undef DO_
  }
  
  void PubsubMessage::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PubsubMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // bytes data = 1;
    if (this->data().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        1, this->data(), output);
    }
  
    // map<string, string> attributes = 2;
    if (!this->attributes().empty()) {
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
          ConstPtr;
      typedef ConstPtr SortItem;
      typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
      struct Utf8Check {
        static void Check(ConstPtr p) {
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->first.data(), static_cast<int>(p->first.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key");
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->second.data(), static_cast<int>(p->second.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value");
        }
      };
  
      if (output->IsSerializationDeterministic() &&
          this->attributes().size() > 1) {
        ::google::protobuf::scoped_array<SortItem> items(
            new SortItem[this->attributes().size()]);
        typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
        size_type n = 0;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it, ++n) {
          items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
        }
        ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
        ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry_DoNotUse> entry;
        for (size_type i = 0; i < n; i++) {
          entry.reset(attributes_.NewEntryWrapper(
              items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
          ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
              2, *entry, output);
          Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
        }
      } else {
        ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry_DoNotUse> entry;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it) {
          entry.reset(attributes_.NewEntryWrapper(
              it->first, it->second));
          ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
              2, *entry, output);
          Utf8Check::Check(&*it);
        }
      }
    }
  
    // string message_id = 3;
    if (this->message_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->message_id().data(), static_cast<int>(this->message_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PubsubMessage.message_id");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->message_id(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PubsubMessage)
  }
  
  ::google::protobuf::uint8* PubsubMessage::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PubsubMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // bytes data = 1;
    if (this->data().size() > 0) {
      target =
        ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
          1, this->data(), target);
    }
  
    // map<string, string> attributes = 2;
    if (!this->attributes().empty()) {
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
          ConstPtr;
      typedef ConstPtr SortItem;
      typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
      struct Utf8Check {
        static void Check(ConstPtr p) {
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->first.data(), static_cast<int>(p->first.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key");
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->second.data(), static_cast<int>(p->second.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value");
        }
      };
  
      if (deterministic &&
          this->attributes().size() > 1) {
        ::google::protobuf::scoped_array<SortItem> items(
            new SortItem[this->attributes().size()]);
        typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
        size_type n = 0;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it, ++n) {
          items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
        }
        ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
        ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry_DoNotUse> entry;
        for (size_type i = 0; i < n; i++) {
          entry.reset(attributes_.NewEntryWrapper(
              items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
          target = ::google::protobuf::internal::WireFormatLite::
                     InternalWriteMessageNoVirtualToArray(
                         2, *entry, deterministic, target);
  ;
          Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
        }
      } else {
        ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry_DoNotUse> entry;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it) {
          entry.reset(attributes_.NewEntryWrapper(
              it->first, it->second));
          target = ::google::protobuf::internal::WireFormatLite::
                     InternalWriteMessageNoVirtualToArray(
                         2, *entry, deterministic, target);
  ;
          Utf8Check::Check(&*it);
        }
      }
    }
  
    // string message_id = 3;
    if (this->message_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->message_id().data(), static_cast<int>(this->message_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PubsubMessage.message_id");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->message_id(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PubsubMessage)
    return target;
  }
  
  size_t PubsubMessage::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PubsubMessage)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // map<string, string> attributes = 2;
    total_size += 1 *
        ::google::protobuf::internal::FromIntSize(this->attributes_size());
    {
      ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(it->first, it->second));
        total_size += ::google::protobuf::internal::WireFormatLite::
            MessageSizeNoVirtual(*entry);
      }
    }
  
    // bytes data = 1;
    if (this->data().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->data());
    }
  
    // string message_id = 3;
    if (this->message_id().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->message_id());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PubsubMessage::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PubsubMessage)
    GOOGLE_DCHECK_NE(&from, this);
    const PubsubMessage* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PubsubMessage>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PubsubMessage)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PubsubMessage)
      MergeFrom(*source);
    }
  }
  
  void PubsubMessage::MergeFrom(const PubsubMessage& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PubsubMessage)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    attributes_.MergeFrom(from.attributes_);
    if (from.data().size() > 0) {
  
      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
    }
    if (from.message_id().size() > 0) {
  
      message_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_id_);
    }
  }
  
  void PubsubMessage::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PubsubMessage)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PubsubMessage::CopyFrom(const PubsubMessage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PubsubMessage)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PubsubMessage::IsInitialized() const {
    return true;
  }
  
  void PubsubMessage::Swap(PubsubMessage* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PubsubMessage::InternalSwap(PubsubMessage* other) {
    using std::swap;
    attributes_.Swap(&other->attributes_);
    data_.Swap(&other->data_);
    message_id_.Swap(&other->message_id_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PubsubMessage::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void GetTopicRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int GetTopicRequest::kTopicFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  GetTopicRequest::GetTopicRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsGetTopicRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.GetTopicRequest)
  }
  GetTopicRequest::GetTopicRequest(const GetTopicRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.topic().size() > 0) {
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.GetTopicRequest)
  }
  
  void GetTopicRequest::SharedCtor() {
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  GetTopicRequest::~GetTopicRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.GetTopicRequest)
    SharedDtor();
  }
  
  void GetTopicRequest::SharedDtor() {
    topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void GetTopicRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* GetTopicRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const GetTopicRequest& GetTopicRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsGetTopicRequest();
    return *internal_default_instance();
  }
  
  GetTopicRequest* GetTopicRequest::New(::google::protobuf::Arena* arena) const {
    GetTopicRequest* n = new GetTopicRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void GetTopicRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.GetTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool GetTopicRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.GetTopicRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string topic = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_topic()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->topic().data(), static_cast<int>(this->topic().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.GetTopicRequest.topic"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.GetTopicRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.GetTopicRequest)
    return false;
  #undef DO_
  }
  
  void GetTopicRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.GetTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.GetTopicRequest.topic");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->topic(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.GetTopicRequest)
  }
  
  ::google::protobuf::uint8* GetTopicRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.GetTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.GetTopicRequest.topic");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->topic(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.GetTopicRequest)
    return target;
  }
  
  size_t GetTopicRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.GetTopicRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string topic = 1;
    if (this->topic().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->topic());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void GetTopicRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.GetTopicRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const GetTopicRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const GetTopicRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.GetTopicRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.GetTopicRequest)
      MergeFrom(*source);
    }
  }
  
  void GetTopicRequest::MergeFrom(const GetTopicRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.GetTopicRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.topic().size() > 0) {
  
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
  }
  
  void GetTopicRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.GetTopicRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void GetTopicRequest::CopyFrom(const GetTopicRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.GetTopicRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool GetTopicRequest::IsInitialized() const {
    return true;
  }
  
  void GetTopicRequest::Swap(GetTopicRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void GetTopicRequest::InternalSwap(GetTopicRequest* other) {
    using std::swap;
    topic_.Swap(&other->topic_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata GetTopicRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void PublishRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PublishRequest::kTopicFieldNumber;
  const int PublishRequest::kMessagesFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PublishRequest::PublishRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPublishRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PublishRequest)
  }
  PublishRequest::PublishRequest(const PublishRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        messages_(from.messages_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.topic().size() > 0) {
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PublishRequest)
  }
  
  void PublishRequest::SharedCtor() {
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  PublishRequest::~PublishRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PublishRequest)
    SharedDtor();
  }
  
  void PublishRequest::SharedDtor() {
    topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void PublishRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PublishRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PublishRequest& PublishRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPublishRequest();
    return *internal_default_instance();
  }
  
  PublishRequest* PublishRequest::New(::google::protobuf::Arena* arena) const {
    PublishRequest* n = new PublishRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PublishRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PublishRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    messages_.Clear();
    topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool PublishRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PublishRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string topic = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_topic()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->topic().data(), static_cast<int>(this->topic().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PublishRequest.topic"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_messages()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PublishRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PublishRequest)
    return false;
  #undef DO_
  }
  
  void PublishRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PublishRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PublishRequest.topic");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->topic(), output);
    }
  
    // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->messages_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, this->messages(static_cast<int>(i)), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PublishRequest)
  }
  
  ::google::protobuf::uint8* PublishRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PublishRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PublishRequest.topic");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->topic(), target);
    }
  
    // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->messages_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, this->messages(static_cast<int>(i)), deterministic, target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PublishRequest)
    return target;
  }
  
  size_t PublishRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PublishRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
    {
      unsigned int count = static_cast<unsigned int>(this->messages_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->messages(static_cast<int>(i)));
      }
    }
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->topic());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PublishRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PublishRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const PublishRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PublishRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PublishRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PublishRequest)
      MergeFrom(*source);
    }
  }
  
  void PublishRequest::MergeFrom(const PublishRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PublishRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    messages_.MergeFrom(from.messages_);
    if (from.topic().size() > 0) {
  
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
  }
  
  void PublishRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PublishRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PublishRequest::CopyFrom(const PublishRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PublishRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PublishRequest::IsInitialized() const {
    return true;
  }
  
  void PublishRequest::Swap(PublishRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PublishRequest::InternalSwap(PublishRequest* other) {
    using std::swap;
    messages_.InternalSwap(&other->messages_);
    topic_.Swap(&other->topic_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PublishRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void PublishResponse::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PublishResponse::kMessageIdsFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PublishResponse::PublishResponse()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPublishResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PublishResponse)
  }
  PublishResponse::PublishResponse(const PublishResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        message_ids_(from.message_ids_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PublishResponse)
  }
  
  void PublishResponse::SharedCtor() {
    _cached_size_ = 0;
  }
  
  PublishResponse::~PublishResponse() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PublishResponse)
    SharedDtor();
  }
  
  void PublishResponse::SharedDtor() {
  }
  
  void PublishResponse::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PublishResponse::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PublishResponse& PublishResponse::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPublishResponse();
    return *internal_default_instance();
  }
  
  PublishResponse* PublishResponse::New(::google::protobuf::Arena* arena) const {
    PublishResponse* n = new PublishResponse;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PublishResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PublishResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    message_ids_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool PublishResponse::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PublishResponse)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated string message_ids = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->add_message_ids()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->message_ids(this->message_ids_size() - 1).data(),
              static_cast<int>(this->message_ids(this->message_ids_size() - 1).length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PublishResponse.message_ids"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PublishResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PublishResponse)
    return false;
  #undef DO_
  }
  
  void PublishResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PublishResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated string message_ids = 1;
    for (int i = 0, n = this->message_ids_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->message_ids(i).data(), static_cast<int>(this->message_ids(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PublishResponse.message_ids");
      ::google::protobuf::internal::WireFormatLite::WriteString(
        1, this->message_ids(i), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PublishResponse)
  }
  
  ::google::protobuf::uint8* PublishResponse::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PublishResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated string message_ids = 1;
    for (int i = 0, n = this->message_ids_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->message_ids(i).data(), static_cast<int>(this->message_ids(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PublishResponse.message_ids");
      target = ::google::protobuf::internal::WireFormatLite::
        WriteStringToArray(1, this->message_ids(i), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PublishResponse)
    return target;
  }
  
  size_t PublishResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PublishResponse)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated string message_ids = 1;
    total_size += 1 *
        ::google::protobuf::internal::FromIntSize(this->message_ids_size());
    for (int i = 0, n = this->message_ids_size(); i < n; i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        this->message_ids(i));
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PublishResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PublishResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const PublishResponse* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PublishResponse>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PublishResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PublishResponse)
      MergeFrom(*source);
    }
  }
  
  void PublishResponse::MergeFrom(const PublishResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PublishResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    message_ids_.MergeFrom(from.message_ids_);
  }
  
  void PublishResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PublishResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PublishResponse::CopyFrom(const PublishResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PublishResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PublishResponse::IsInitialized() const {
    return true;
  }
  
  void PublishResponse::Swap(PublishResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PublishResponse::InternalSwap(PublishResponse* other) {
    using std::swap;
    message_ids_.InternalSwap(&other->message_ids_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PublishResponse::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListTopicsRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListTopicsRequest::kProjectFieldNumber;
  const int ListTopicsRequest::kPageSizeFieldNumber;
  const int ListTopicsRequest::kPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListTopicsRequest::ListTopicsRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicsRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicsRequest)
  }
  ListTopicsRequest::ListTopicsRequest(const ListTopicsRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.project().size() > 0) {
      project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
    }
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.page_token().size() > 0) {
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    page_size_ = from.page_size_;
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicsRequest)
  }
  
  void ListTopicsRequest::SharedCtor() {
    project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _cached_size_ = 0;
  }
  
  ListTopicsRequest::~ListTopicsRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicsRequest)
    SharedDtor();
  }
  
  void ListTopicsRequest::SharedDtor() {
    project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListTopicsRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListTopicsRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListTopicsRequest& ListTopicsRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicsRequest();
    return *internal_default_instance();
  }
  
  ListTopicsRequest* ListTopicsRequest::New(::google::protobuf::Arena* arena) const {
    ListTopicsRequest* n = new ListTopicsRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListTopicsRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _internal_metadata_.Clear();
  }
  
  bool ListTopicsRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicsRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string project = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_project()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->project().data(), static_cast<int>(this->project().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicsRequest.project"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 page_size = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &page_size_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string page_token = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->page_token().data(), static_cast<int>(this->page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicsRequest.page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicsRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicsRequest)
    return false;
  #undef DO_
  }
  
  void ListTopicsRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string project = 1;
    if (this->project().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->project().data(), static_cast<int>(this->project().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsRequest.project");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->project(), output);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsRequest.page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicsRequest)
  }
  
  ::google::protobuf::uint8* ListTopicsRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string project = 1;
    if (this->project().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->project().data(), static_cast<int>(this->project().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsRequest.project");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->project(), target);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsRequest.page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicsRequest)
    return target;
  }
  
  size_t ListTopicsRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicsRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string project = 1;
    if (this->project().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->project());
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->page_token());
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->page_size());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListTopicsRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const ListTopicsRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicsRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicsRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicsRequest)
      MergeFrom(*source);
    }
  }
  
  void ListTopicsRequest::MergeFrom(const ListTopicsRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.project().size() > 0) {
  
      project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
    }
    if (from.page_token().size() > 0) {
  
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    if (from.page_size() != 0) {
      set_page_size(from.page_size());
    }
  }
  
  void ListTopicsRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListTopicsRequest::CopyFrom(const ListTopicsRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListTopicsRequest::IsInitialized() const {
    return true;
  }
  
  void ListTopicsRequest::Swap(ListTopicsRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListTopicsRequest::InternalSwap(ListTopicsRequest* other) {
    using std::swap;
    project_.Swap(&other->project_);
    page_token_.Swap(&other->page_token_);
    swap(page_size_, other->page_size_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListTopicsRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListTopicsResponse::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListTopicsResponse::kTopicsFieldNumber;
  const int ListTopicsResponse::kNextPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListTopicsResponse::ListTopicsResponse()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicsResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicsResponse)
  }
  ListTopicsResponse::ListTopicsResponse(const ListTopicsResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        topics_(from.topics_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.next_page_token().size() > 0) {
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicsResponse)
  }
  
  void ListTopicsResponse::SharedCtor() {
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  ListTopicsResponse::~ListTopicsResponse() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicsResponse)
    SharedDtor();
  }
  
  void ListTopicsResponse::SharedDtor() {
    next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListTopicsResponse::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListTopicsResponse::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListTopicsResponse& ListTopicsResponse::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicsResponse();
    return *internal_default_instance();
  }
  
  ListTopicsResponse* ListTopicsResponse::New(::google::protobuf::Arena* arena) const {
    ListTopicsResponse* n = new ListTopicsResponse;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListTopicsResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    topics_.Clear();
    next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool ListTopicsResponse::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicsResponse)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated .google.pubsub.v1beta2.Topic topics = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_topics()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string next_page_token = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_next_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicsResponse.next_page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicsResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicsResponse)
    return false;
  #undef DO_
  }
  
  void ListTopicsResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.Topic topics = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->topics_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, this->topics(static_cast<int>(i)), output);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsResponse.next_page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->next_page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicsResponse)
  }
  
  ::google::protobuf::uint8* ListTopicsResponse::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.Topic topics = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->topics_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, this->topics(static_cast<int>(i)), deterministic, target);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicsResponse.next_page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->next_page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicsResponse)
    return target;
  }
  
  size_t ListTopicsResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicsResponse)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated .google.pubsub.v1beta2.Topic topics = 1;
    {
      unsigned int count = static_cast<unsigned int>(this->topics_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->topics(static_cast<int>(i)));
      }
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->next_page_token());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListTopicsResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const ListTopicsResponse* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicsResponse>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicsResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicsResponse)
      MergeFrom(*source);
    }
  }
  
  void ListTopicsResponse::MergeFrom(const ListTopicsResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    topics_.MergeFrom(from.topics_);
    if (from.next_page_token().size() > 0) {
  
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
  }
  
  void ListTopicsResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListTopicsResponse::CopyFrom(const ListTopicsResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListTopicsResponse::IsInitialized() const {
    return true;
  }
  
  void ListTopicsResponse::Swap(ListTopicsResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListTopicsResponse::InternalSwap(ListTopicsResponse* other) {
    using std::swap;
    topics_.InternalSwap(&other->topics_);
    next_page_token_.Swap(&other->next_page_token_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListTopicsResponse::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListTopicSubscriptionsRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListTopicSubscriptionsRequest::kTopicFieldNumber;
  const int ListTopicSubscriptionsRequest::kPageSizeFieldNumber;
  const int ListTopicSubscriptionsRequest::kPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListTopicSubscriptionsRequest::ListTopicSubscriptionsRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicSubscriptionsRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  }
  ListTopicSubscriptionsRequest::ListTopicSubscriptionsRequest(const ListTopicSubscriptionsRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.topic().size() > 0) {
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.page_token().size() > 0) {
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    page_size_ = from.page_size_;
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  }
  
  void ListTopicSubscriptionsRequest::SharedCtor() {
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _cached_size_ = 0;
  }
  
  ListTopicSubscriptionsRequest::~ListTopicSubscriptionsRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    SharedDtor();
  }
  
  void ListTopicSubscriptionsRequest::SharedDtor() {
    topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListTopicSubscriptionsRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListTopicSubscriptionsRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListTopicSubscriptionsRequest& ListTopicSubscriptionsRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicSubscriptionsRequest();
    return *internal_default_instance();
  }
  
  ListTopicSubscriptionsRequest* ListTopicSubscriptionsRequest::New(::google::protobuf::Arena* arena) const {
    ListTopicSubscriptionsRequest* n = new ListTopicSubscriptionsRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListTopicSubscriptionsRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _internal_metadata_.Clear();
  }
  
  bool ListTopicSubscriptionsRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string topic = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_topic()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->topic().data(), static_cast<int>(this->topic().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 page_size = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &page_size_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string page_token = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->page_token().data(), static_cast<int>(this->page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    return false;
  #undef DO_
  }
  
  void ListTopicSubscriptionsRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->topic(), output);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  }
  
  ::google::protobuf::uint8* ListTopicSubscriptionsRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->topic(), target);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    return target;
  }
  
  size_t ListTopicSubscriptionsRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string topic = 1;
    if (this->topic().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->topic());
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->page_token());
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->page_size());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListTopicSubscriptionsRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const ListTopicSubscriptionsRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicSubscriptionsRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
      MergeFrom(*source);
    }
  }
  
  void ListTopicSubscriptionsRequest::MergeFrom(const ListTopicSubscriptionsRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.topic().size() > 0) {
  
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    if (from.page_token().size() > 0) {
  
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    if (from.page_size() != 0) {
      set_page_size(from.page_size());
    }
  }
  
  void ListTopicSubscriptionsRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListTopicSubscriptionsRequest::CopyFrom(const ListTopicSubscriptionsRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListTopicSubscriptionsRequest::IsInitialized() const {
    return true;
  }
  
  void ListTopicSubscriptionsRequest::Swap(ListTopicSubscriptionsRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListTopicSubscriptionsRequest::InternalSwap(ListTopicSubscriptionsRequest* other) {
    using std::swap;
    topic_.Swap(&other->topic_);
    page_token_.Swap(&other->page_token_);
    swap(page_size_, other->page_size_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListTopicSubscriptionsRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListTopicSubscriptionsResponse::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListTopicSubscriptionsResponse::kSubscriptionsFieldNumber;
  const int ListTopicSubscriptionsResponse::kNextPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListTopicSubscriptionsResponse::ListTopicSubscriptionsResponse()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicSubscriptionsResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  }
  ListTopicSubscriptionsResponse::ListTopicSubscriptionsResponse(const ListTopicSubscriptionsResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        subscriptions_(from.subscriptions_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.next_page_token().size() > 0) {
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  }
  
  void ListTopicSubscriptionsResponse::SharedCtor() {
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  ListTopicSubscriptionsResponse::~ListTopicSubscriptionsResponse() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    SharedDtor();
  }
  
  void ListTopicSubscriptionsResponse::SharedDtor() {
    next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListTopicSubscriptionsResponse::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListTopicSubscriptionsResponse::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListTopicSubscriptionsResponse& ListTopicSubscriptionsResponse::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListTopicSubscriptionsResponse();
    return *internal_default_instance();
  }
  
  ListTopicSubscriptionsResponse* ListTopicSubscriptionsResponse::New(::google::protobuf::Arena* arena) const {
    ListTopicSubscriptionsResponse* n = new ListTopicSubscriptionsResponse;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListTopicSubscriptionsResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscriptions_.Clear();
    next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool ListTopicSubscriptionsResponse::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated string subscriptions = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->add_subscriptions()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscriptions(this->subscriptions_size() - 1).data(),
              static_cast<int>(this->subscriptions(this->subscriptions_size() - 1).length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string next_page_token = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_next_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    return false;
  #undef DO_
  }
  
  void ListTopicSubscriptionsResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated string subscriptions = 1;
    for (int i = 0, n = this->subscriptions_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscriptions(i).data(), static_cast<int>(this->subscriptions(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions");
      ::google::protobuf::internal::WireFormatLite::WriteString(
        1, this->subscriptions(i), output);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->next_page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  }
  
  ::google::protobuf::uint8* ListTopicSubscriptionsResponse::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated string subscriptions = 1;
    for (int i = 0, n = this->subscriptions_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscriptions(i).data(), static_cast<int>(this->subscriptions(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions");
      target = ::google::protobuf::internal::WireFormatLite::
        WriteStringToArray(1, this->subscriptions(i), target);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->next_page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    return target;
  }
  
  size_t ListTopicSubscriptionsResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated string subscriptions = 1;
    total_size += 1 *
        ::google::protobuf::internal::FromIntSize(this->subscriptions_size());
    for (int i = 0, n = this->subscriptions_size(); i < n; i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscriptions(i));
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->next_page_token());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListTopicSubscriptionsResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const ListTopicSubscriptionsResponse* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicSubscriptionsResponse>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
      MergeFrom(*source);
    }
  }
  
  void ListTopicSubscriptionsResponse::MergeFrom(const ListTopicSubscriptionsResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    subscriptions_.MergeFrom(from.subscriptions_);
    if (from.next_page_token().size() > 0) {
  
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
  }
  
  void ListTopicSubscriptionsResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListTopicSubscriptionsResponse::CopyFrom(const ListTopicSubscriptionsResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListTopicSubscriptionsResponse::IsInitialized() const {
    return true;
  }
  
  void ListTopicSubscriptionsResponse::Swap(ListTopicSubscriptionsResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListTopicSubscriptionsResponse::InternalSwap(ListTopicSubscriptionsResponse* other) {
    using std::swap;
    subscriptions_.InternalSwap(&other->subscriptions_);
    next_page_token_.Swap(&other->next_page_token_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListTopicSubscriptionsResponse::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void DeleteTopicRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int DeleteTopicRequest::kTopicFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  DeleteTopicRequest::DeleteTopicRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsDeleteTopicRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.DeleteTopicRequest)
  }
  DeleteTopicRequest::DeleteTopicRequest(const DeleteTopicRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.topic().size() > 0) {
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.DeleteTopicRequest)
  }
  
  void DeleteTopicRequest::SharedCtor() {
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  DeleteTopicRequest::~DeleteTopicRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.DeleteTopicRequest)
    SharedDtor();
  }
  
  void DeleteTopicRequest::SharedDtor() {
    topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void DeleteTopicRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* DeleteTopicRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const DeleteTopicRequest& DeleteTopicRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsDeleteTopicRequest();
    return *internal_default_instance();
  }
  
  DeleteTopicRequest* DeleteTopicRequest::New(::google::protobuf::Arena* arena) const {
    DeleteTopicRequest* n = new DeleteTopicRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void DeleteTopicRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.DeleteTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool DeleteTopicRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.DeleteTopicRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string topic = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_topic()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->topic().data(), static_cast<int>(this->topic().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.DeleteTopicRequest.topic"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.DeleteTopicRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.DeleteTopicRequest)
    return false;
  #undef DO_
  }
  
  void DeleteTopicRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.DeleteTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.DeleteTopicRequest.topic");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->topic(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.DeleteTopicRequest)
  }
  
  ::google::protobuf::uint8* DeleteTopicRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.DeleteTopicRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string topic = 1;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.DeleteTopicRequest.topic");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->topic(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.DeleteTopicRequest)
    return target;
  }
  
  size_t DeleteTopicRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.DeleteTopicRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string topic = 1;
    if (this->topic().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->topic());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void DeleteTopicRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const DeleteTopicRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const DeleteTopicRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.DeleteTopicRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.DeleteTopicRequest)
      MergeFrom(*source);
    }
  }
  
  void DeleteTopicRequest::MergeFrom(const DeleteTopicRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.topic().size() > 0) {
  
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
  }
  
  void DeleteTopicRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void DeleteTopicRequest::CopyFrom(const DeleteTopicRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool DeleteTopicRequest::IsInitialized() const {
    return true;
  }
  
  void DeleteTopicRequest::Swap(DeleteTopicRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void DeleteTopicRequest::InternalSwap(DeleteTopicRequest* other) {
    using std::swap;
    topic_.Swap(&other->topic_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata DeleteTopicRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void Subscription::InitAsDefaultInstance() {
    ::google::pubsub::v1beta2::_Subscription_default_instance_._instance.get_mutable()->push_config_ = const_cast< ::google::pubsub::v1beta2::PushConfig*>(
        ::google::pubsub::v1beta2::PushConfig::internal_default_instance());
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int Subscription::kNameFieldNumber;
  const int Subscription::kTopicFieldNumber;
  const int Subscription::kPushConfigFieldNumber;
  const int Subscription::kAckDeadlineSecondsFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  Subscription::Subscription()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsSubscription();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.Subscription)
  }
  Subscription::Subscription(const Subscription& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.name().size() > 0) {
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.topic().size() > 0) {
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    if (from.has_push_config()) {
      push_config_ = new ::google::pubsub::v1beta2::PushConfig(*from.push_config_);
    } else {
      push_config_ = NULL;
    }
    ack_deadline_seconds_ = from.ack_deadline_seconds_;
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.Subscription)
  }
  
  void Subscription::SharedCtor() {
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&push_config_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&ack_deadline_seconds_) -
        reinterpret_cast<char*>(&push_config_)) + sizeof(ack_deadline_seconds_));
    _cached_size_ = 0;
  }
  
  Subscription::~Subscription() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.Subscription)
    SharedDtor();
  }
  
  void Subscription::SharedDtor() {
    name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete push_config_;
  }
  
  void Subscription::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* Subscription::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const Subscription& Subscription::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsSubscription();
    return *internal_default_instance();
  }
  
  Subscription* Subscription::New(::google::protobuf::Arena* arena) const {
    Subscription* n = new Subscription;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void Subscription::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.Subscription)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == NULL && push_config_ != NULL) {
      delete push_config_;
    }
    push_config_ = NULL;
    ack_deadline_seconds_ = 0;
    _internal_metadata_.Clear();
  }
  
  bool Subscription::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.Subscription)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string name = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_name()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->name().data(), static_cast<int>(this->name().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.Subscription.name"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string topic = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_topic()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->topic().data(), static_cast<int>(this->topic().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.Subscription.topic"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.pubsub.v1beta2.PushConfig push_config = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_push_config()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 ack_deadline_seconds = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &ack_deadline_seconds_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.Subscription)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.Subscription)
    return false;
  #undef DO_
  }
  
  void Subscription::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.Subscription)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string name = 1;
    if (this->name().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Subscription.name");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->name(), output);
    }
  
    // string topic = 2;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Subscription.topic");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->topic(), output);
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 4;
    if (this->has_push_config()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, *this->push_config_, output);
    }
  
    // int32 ack_deadline_seconds = 5;
    if (this->ack_deadline_seconds() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->ack_deadline_seconds(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.Subscription)
  }
  
  ::google::protobuf::uint8* Subscription::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.Subscription)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string name = 1;
    if (this->name().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Subscription.name");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->name(), target);
    }
  
    // string topic = 2;
    if (this->topic().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->topic().data(), static_cast<int>(this->topic().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.Subscription.topic");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->topic(), target);
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 4;
    if (this->has_push_config()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, *this->push_config_, deterministic, target);
    }
  
    // int32 ack_deadline_seconds = 5;
    if (this->ack_deadline_seconds() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->ack_deadline_seconds(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.Subscription)
    return target;
  }
  
  size_t Subscription::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.Subscription)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string name = 1;
    if (this->name().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }
  
    // string topic = 2;
    if (this->topic().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->topic());
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 4;
    if (this->has_push_config()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->push_config_);
    }
  
    // int32 ack_deadline_seconds = 5;
    if (this->ack_deadline_seconds() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->ack_deadline_seconds());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void Subscription::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.Subscription)
    GOOGLE_DCHECK_NE(&from, this);
    const Subscription* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const Subscription>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.Subscription)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.Subscription)
      MergeFrom(*source);
    }
  }
  
  void Subscription::MergeFrom(const Subscription& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.Subscription)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.name().size() > 0) {
  
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (from.topic().size() > 0) {
  
      topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
    }
    if (from.has_push_config()) {
      mutable_push_config()->::google::pubsub::v1beta2::PushConfig::MergeFrom(from.push_config());
    }
    if (from.ack_deadline_seconds() != 0) {
      set_ack_deadline_seconds(from.ack_deadline_seconds());
    }
  }
  
  void Subscription::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.Subscription)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void Subscription::CopyFrom(const Subscription& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.Subscription)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool Subscription::IsInitialized() const {
    return true;
  }
  
  void Subscription::Swap(Subscription* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void Subscription::InternalSwap(Subscription* other) {
    using std::swap;
    name_.Swap(&other->name_);
    topic_.Swap(&other->topic_);
    swap(push_config_, other->push_config_);
    swap(ack_deadline_seconds_, other->ack_deadline_seconds_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata Subscription::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  PushConfig_AttributesEntry_DoNotUse::PushConfig_AttributesEntry_DoNotUse() {}
  PushConfig_AttributesEntry_DoNotUse::PushConfig_AttributesEntry_DoNotUse(::google::protobuf::Arena* arena) : SuperType(arena) {}
  void PushConfig_AttributesEntry_DoNotUse::MergeFrom(const PushConfig_AttributesEntry_DoNotUse& other) {
    MergeFromInternal(other);
  }
  ::google::protobuf::Metadata PushConfig_AttributesEntry_DoNotUse::GetMetadata() const {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[12];
  }
  void PushConfig_AttributesEntry_DoNotUse::MergeFrom(
      const ::google::protobuf::Message& other) {
    ::google::protobuf::Message::MergeFrom(other);
  }
  
  
  // ===================================================================
  
  void PushConfig::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PushConfig::kPushEndpointFieldNumber;
  const int PushConfig::kAttributesFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PushConfig::PushConfig()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPushConfig();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PushConfig)
  }
  PushConfig::PushConfig(const PushConfig& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    attributes_.MergeFrom(from.attributes_);
    push_endpoint_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.push_endpoint().size() > 0) {
      push_endpoint_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.push_endpoint_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PushConfig)
  }
  
  void PushConfig::SharedCtor() {
    push_endpoint_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  PushConfig::~PushConfig() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PushConfig)
    SharedDtor();
  }
  
  void PushConfig::SharedDtor() {
    push_endpoint_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void PushConfig::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PushConfig::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PushConfig& PushConfig::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPushConfig();
    return *internal_default_instance();
  }
  
  PushConfig* PushConfig::New(::google::protobuf::Arena* arena) const {
    PushConfig* n = new PushConfig;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PushConfig::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PushConfig)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    attributes_.Clear();
    push_endpoint_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool PushConfig::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PushConfig)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string push_endpoint = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_push_endpoint()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->push_endpoint().data(), static_cast<int>(this->push_endpoint().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PushConfig.push_endpoint"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // map<string, string> attributes = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            PushConfig_AttributesEntry_DoNotUse::Parser< ::google::protobuf::internal::MapField<
                PushConfig_AttributesEntry_DoNotUse,
                ::std::string, ::std::string,
                ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                0 >,
              ::google::protobuf::Map< ::std::string, ::std::string > > parser(&attributes_);
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, &parser));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              parser.key().data(), static_cast<int>(parser.key().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PushConfig.AttributesEntry.key"));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              parser.value().data(), static_cast<int>(parser.value().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PushConfig.AttributesEntry.value"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PushConfig)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PushConfig)
    return false;
  #undef DO_
  }
  
  void PushConfig::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PushConfig)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string push_endpoint = 1;
    if (this->push_endpoint().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->push_endpoint().data(), static_cast<int>(this->push_endpoint().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PushConfig.push_endpoint");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->push_endpoint(), output);
    }
  
    // map<string, string> attributes = 2;
    if (!this->attributes().empty()) {
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
          ConstPtr;
      typedef ConstPtr SortItem;
      typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
      struct Utf8Check {
        static void Check(ConstPtr p) {
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->first.data(), static_cast<int>(p->first.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.key");
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->second.data(), static_cast<int>(p->second.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.value");
        }
      };
  
      if (output->IsSerializationDeterministic() &&
          this->attributes().size() > 1) {
        ::google::protobuf::scoped_array<SortItem> items(
            new SortItem[this->attributes().size()]);
        typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
        size_type n = 0;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it, ++n) {
          items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
        }
        ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
        ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry_DoNotUse> entry;
        for (size_type i = 0; i < n; i++) {
          entry.reset(attributes_.NewEntryWrapper(
              items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
          ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
              2, *entry, output);
          Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
        }
      } else {
        ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry_DoNotUse> entry;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it) {
          entry.reset(attributes_.NewEntryWrapper(
              it->first, it->second));
          ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
              2, *entry, output);
          Utf8Check::Check(&*it);
        }
      }
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PushConfig)
  }
  
  ::google::protobuf::uint8* PushConfig::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PushConfig)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string push_endpoint = 1;
    if (this->push_endpoint().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->push_endpoint().data(), static_cast<int>(this->push_endpoint().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PushConfig.push_endpoint");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->push_endpoint(), target);
    }
  
    // map<string, string> attributes = 2;
    if (!this->attributes().empty()) {
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
          ConstPtr;
      typedef ConstPtr SortItem;
      typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
      struct Utf8Check {
        static void Check(ConstPtr p) {
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->first.data(), static_cast<int>(p->first.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.key");
          ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            p->second.data(), static_cast<int>(p->second.length()),
            ::google::protobuf::internal::WireFormatLite::SERIALIZE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.value");
        }
      };
  
      if (deterministic &&
          this->attributes().size() > 1) {
        ::google::protobuf::scoped_array<SortItem> items(
            new SortItem[this->attributes().size()]);
        typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
        size_type n = 0;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it, ++n) {
          items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
        }
        ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
        ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry_DoNotUse> entry;
        for (size_type i = 0; i < n; i++) {
          entry.reset(attributes_.NewEntryWrapper(
              items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
          target = ::google::protobuf::internal::WireFormatLite::
                     InternalWriteMessageNoVirtualToArray(
                         2, *entry, deterministic, target);
  ;
          Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
        }
      } else {
        ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry_DoNotUse> entry;
        for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
            it = this->attributes().begin();
            it != this->attributes().end(); ++it) {
          entry.reset(attributes_.NewEntryWrapper(
              it->first, it->second));
          target = ::google::protobuf::internal::WireFormatLite::
                     InternalWriteMessageNoVirtualToArray(
                         2, *entry, deterministic, target);
  ;
          Utf8Check::Check(&*it);
        }
      }
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PushConfig)
    return target;
  }
  
  size_t PushConfig::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PushConfig)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // map<string, string> attributes = 2;
    total_size += 1 *
        ::google::protobuf::internal::FromIntSize(this->attributes_size());
    {
      ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry_DoNotUse> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(it->first, it->second));
        total_size += ::google::protobuf::internal::WireFormatLite::
            MessageSizeNoVirtual(*entry);
      }
    }
  
    // string push_endpoint = 1;
    if (this->push_endpoint().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->push_endpoint());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PushConfig::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PushConfig)
    GOOGLE_DCHECK_NE(&from, this);
    const PushConfig* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PushConfig>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PushConfig)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PushConfig)
      MergeFrom(*source);
    }
  }
  
  void PushConfig::MergeFrom(const PushConfig& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PushConfig)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    attributes_.MergeFrom(from.attributes_);
    if (from.push_endpoint().size() > 0) {
  
      push_endpoint_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.push_endpoint_);
    }
  }
  
  void PushConfig::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PushConfig)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PushConfig::CopyFrom(const PushConfig& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PushConfig)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PushConfig::IsInitialized() const {
    return true;
  }
  
  void PushConfig::Swap(PushConfig* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PushConfig::InternalSwap(PushConfig* other) {
    using std::swap;
    attributes_.Swap(&other->attributes_);
    push_endpoint_.Swap(&other->push_endpoint_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PushConfig::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ReceivedMessage::InitAsDefaultInstance() {
    ::google::pubsub::v1beta2::_ReceivedMessage_default_instance_._instance.get_mutable()->message_ = const_cast< ::google::pubsub::v1beta2::PubsubMessage*>(
        ::google::pubsub::v1beta2::PubsubMessage::internal_default_instance());
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ReceivedMessage::kAckIdFieldNumber;
  const int ReceivedMessage::kMessageFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ReceivedMessage::ReceivedMessage()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsReceivedMessage();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ReceivedMessage)
  }
  ReceivedMessage::ReceivedMessage(const ReceivedMessage& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.ack_id().size() > 0) {
      ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
    }
    if (from.has_message()) {
      message_ = new ::google::pubsub::v1beta2::PubsubMessage(*from.message_);
    } else {
      message_ = NULL;
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ReceivedMessage)
  }
  
  void ReceivedMessage::SharedCtor() {
    ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    message_ = NULL;
    _cached_size_ = 0;
  }
  
  ReceivedMessage::~ReceivedMessage() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ReceivedMessage)
    SharedDtor();
  }
  
  void ReceivedMessage::SharedDtor() {
    ack_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete message_;
  }
  
  void ReceivedMessage::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ReceivedMessage::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ReceivedMessage& ReceivedMessage::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsReceivedMessage();
    return *internal_default_instance();
  }
  
  ReceivedMessage* ReceivedMessage::New(::google::protobuf::Arena* arena) const {
    ReceivedMessage* n = new ReceivedMessage;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ReceivedMessage::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ReceivedMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == NULL && message_ != NULL) {
      delete message_;
    }
    message_ = NULL;
    _internal_metadata_.Clear();
  }
  
  bool ReceivedMessage::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ReceivedMessage)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string ack_id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_ack_id()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->ack_id().data(), static_cast<int>(this->ack_id().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ReceivedMessage.ack_id"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.pubsub.v1beta2.PubsubMessage message = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_message()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ReceivedMessage)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ReceivedMessage)
    return false;
  #undef DO_
  }
  
  void ReceivedMessage::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ReceivedMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string ack_id = 1;
    if (this->ack_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_id().data(), static_cast<int>(this->ack_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ReceivedMessage.ack_id");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->ack_id(), output);
    }
  
    // .google.pubsub.v1beta2.PubsubMessage message = 2;
    if (this->has_message()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, *this->message_, output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ReceivedMessage)
  }
  
  ::google::protobuf::uint8* ReceivedMessage::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ReceivedMessage)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string ack_id = 1;
    if (this->ack_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_id().data(), static_cast<int>(this->ack_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ReceivedMessage.ack_id");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->ack_id(), target);
    }
  
    // .google.pubsub.v1beta2.PubsubMessage message = 2;
    if (this->has_message()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, *this->message_, deterministic, target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ReceivedMessage)
    return target;
  }
  
  size_t ReceivedMessage::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ReceivedMessage)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string ack_id = 1;
    if (this->ack_id().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->ack_id());
    }
  
    // .google.pubsub.v1beta2.PubsubMessage message = 2;
    if (this->has_message()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->message_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ReceivedMessage::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ReceivedMessage)
    GOOGLE_DCHECK_NE(&from, this);
    const ReceivedMessage* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ReceivedMessage>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ReceivedMessage)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ReceivedMessage)
      MergeFrom(*source);
    }
  }
  
  void ReceivedMessage::MergeFrom(const ReceivedMessage& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ReceivedMessage)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.ack_id().size() > 0) {
  
      ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
    }
    if (from.has_message()) {
      mutable_message()->::google::pubsub::v1beta2::PubsubMessage::MergeFrom(from.message());
    }
  }
  
  void ReceivedMessage::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ReceivedMessage)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ReceivedMessage::CopyFrom(const ReceivedMessage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ReceivedMessage)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ReceivedMessage::IsInitialized() const {
    return true;
  }
  
  void ReceivedMessage::Swap(ReceivedMessage* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ReceivedMessage::InternalSwap(ReceivedMessage* other) {
    using std::swap;
    ack_id_.Swap(&other->ack_id_);
    swap(message_, other->message_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ReceivedMessage::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void GetSubscriptionRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int GetSubscriptionRequest::kSubscriptionFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  GetSubscriptionRequest::GetSubscriptionRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsGetSubscriptionRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.GetSubscriptionRequest)
  }
  GetSubscriptionRequest::GetSubscriptionRequest(const GetSubscriptionRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.GetSubscriptionRequest)
  }
  
  void GetSubscriptionRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  GetSubscriptionRequest::~GetSubscriptionRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.GetSubscriptionRequest)
    SharedDtor();
  }
  
  void GetSubscriptionRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void GetSubscriptionRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* GetSubscriptionRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const GetSubscriptionRequest& GetSubscriptionRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsGetSubscriptionRequest();
    return *internal_default_instance();
  }
  
  GetSubscriptionRequest* GetSubscriptionRequest::New(::google::protobuf::Arena* arena) const {
    GetSubscriptionRequest* n = new GetSubscriptionRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void GetSubscriptionRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool GetSubscriptionRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.GetSubscriptionRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.GetSubscriptionRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.GetSubscriptionRequest)
    return false;
  #undef DO_
  }
  
  void GetSubscriptionRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.GetSubscriptionRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.GetSubscriptionRequest)
  }
  
  ::google::protobuf::uint8* GetSubscriptionRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.GetSubscriptionRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.GetSubscriptionRequest)
    return target;
  }
  
  size_t GetSubscriptionRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void GetSubscriptionRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const GetSubscriptionRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const GetSubscriptionRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.GetSubscriptionRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.GetSubscriptionRequest)
      MergeFrom(*source);
    }
  }
  
  void GetSubscriptionRequest::MergeFrom(const GetSubscriptionRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
  }
  
  void GetSubscriptionRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void GetSubscriptionRequest::CopyFrom(const GetSubscriptionRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool GetSubscriptionRequest::IsInitialized() const {
    return true;
  }
  
  void GetSubscriptionRequest::Swap(GetSubscriptionRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void GetSubscriptionRequest::InternalSwap(GetSubscriptionRequest* other) {
    using std::swap;
    subscription_.Swap(&other->subscription_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata GetSubscriptionRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListSubscriptionsRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListSubscriptionsRequest::kProjectFieldNumber;
  const int ListSubscriptionsRequest::kPageSizeFieldNumber;
  const int ListSubscriptionsRequest::kPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListSubscriptionsRequest::ListSubscriptionsRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListSubscriptionsRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
  }
  ListSubscriptionsRequest::ListSubscriptionsRequest(const ListSubscriptionsRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.project().size() > 0) {
      project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
    }
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.page_token().size() > 0) {
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    page_size_ = from.page_size_;
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
  }
  
  void ListSubscriptionsRequest::SharedCtor() {
    project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _cached_size_ = 0;
  }
  
  ListSubscriptionsRequest::~ListSubscriptionsRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
    SharedDtor();
  }
  
  void ListSubscriptionsRequest::SharedDtor() {
    project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListSubscriptionsRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListSubscriptionsRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListSubscriptionsRequest& ListSubscriptionsRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListSubscriptionsRequest();
    return *internal_default_instance();
  }
  
  ListSubscriptionsRequest* ListSubscriptionsRequest::New(::google::protobuf::Arena* arena) const {
    ListSubscriptionsRequest* n = new ListSubscriptionsRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListSubscriptionsRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    page_size_ = 0;
    _internal_metadata_.Clear();
  }
  
  bool ListSubscriptionsRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string project = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_project()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->project().data(), static_cast<int>(this->project().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListSubscriptionsRequest.project"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 page_size = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &page_size_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string page_token = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->page_token().data(), static_cast<int>(this->page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListSubscriptionsRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListSubscriptionsRequest)
    return false;
  #undef DO_
  }
  
  void ListSubscriptionsRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string project = 1;
    if (this->project().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->project().data(), static_cast<int>(this->project().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsRequest.project");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->project(), output);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListSubscriptionsRequest)
  }
  
  ::google::protobuf::uint8* ListSubscriptionsRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string project = 1;
    if (this->project().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->project().data(), static_cast<int>(this->project().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsRequest.project");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->project(), target);
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->page_token().data(), static_cast<int>(this->page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListSubscriptionsRequest)
    return target;
  }
  
  size_t ListSubscriptionsRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string project = 1;
    if (this->project().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->project());
    }
  
    // string page_token = 3;
    if (this->page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->page_token());
    }
  
    // int32 page_size = 2;
    if (this->page_size() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->page_size());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListSubscriptionsRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const ListSubscriptionsRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListSubscriptionsRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListSubscriptionsRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListSubscriptionsRequest)
      MergeFrom(*source);
    }
  }
  
  void ListSubscriptionsRequest::MergeFrom(const ListSubscriptionsRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.project().size() > 0) {
  
      project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
    }
    if (from.page_token().size() > 0) {
  
      page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
    }
    if (from.page_size() != 0) {
      set_page_size(from.page_size());
    }
  }
  
  void ListSubscriptionsRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListSubscriptionsRequest::CopyFrom(const ListSubscriptionsRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListSubscriptionsRequest::IsInitialized() const {
    return true;
  }
  
  void ListSubscriptionsRequest::Swap(ListSubscriptionsRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListSubscriptionsRequest::InternalSwap(ListSubscriptionsRequest* other) {
    using std::swap;
    project_.Swap(&other->project_);
    page_token_.Swap(&other->page_token_);
    swap(page_size_, other->page_size_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListSubscriptionsRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ListSubscriptionsResponse::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ListSubscriptionsResponse::kSubscriptionsFieldNumber;
  const int ListSubscriptionsResponse::kNextPageTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ListSubscriptionsResponse::ListSubscriptionsResponse()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListSubscriptionsResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
  }
  ListSubscriptionsResponse::ListSubscriptionsResponse(const ListSubscriptionsResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        subscriptions_(from.subscriptions_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.next_page_token().size() > 0) {
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
  }
  
  void ListSubscriptionsResponse::SharedCtor() {
    next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  ListSubscriptionsResponse::~ListSubscriptionsResponse() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
    SharedDtor();
  }
  
  void ListSubscriptionsResponse::SharedDtor() {
    next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ListSubscriptionsResponse::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ListSubscriptionsResponse::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ListSubscriptionsResponse& ListSubscriptionsResponse::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsListSubscriptionsResponse();
    return *internal_default_instance();
  }
  
  ListSubscriptionsResponse* ListSubscriptionsResponse::New(::google::protobuf::Arena* arena) const {
    ListSubscriptionsResponse* n = new ListSubscriptionsResponse;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ListSubscriptionsResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscriptions_.Clear();
    next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool ListSubscriptionsResponse::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_subscriptions()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string next_page_token = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_next_page_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListSubscriptionsResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListSubscriptionsResponse)
    return false;
  #undef DO_
  }
  
  void ListSubscriptionsResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->subscriptions_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, this->subscriptions(static_cast<int>(i)), output);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->next_page_token(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListSubscriptionsResponse)
  }
  
  ::google::protobuf::uint8* ListSubscriptionsResponse::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->subscriptions_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, this->subscriptions(static_cast<int>(i)), deterministic, target);
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->next_page_token().data(), static_cast<int>(this->next_page_token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->next_page_token(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListSubscriptionsResponse)
    return target;
  }
  
  size_t ListSubscriptionsResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
    {
      unsigned int count = static_cast<unsigned int>(this->subscriptions_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->subscriptions(static_cast<int>(i)));
      }
    }
  
    // string next_page_token = 2;
    if (this->next_page_token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->next_page_token());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ListSubscriptionsResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const ListSubscriptionsResponse* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ListSubscriptionsResponse>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListSubscriptionsResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListSubscriptionsResponse)
      MergeFrom(*source);
    }
  }
  
  void ListSubscriptionsResponse::MergeFrom(const ListSubscriptionsResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    subscriptions_.MergeFrom(from.subscriptions_);
    if (from.next_page_token().size() > 0) {
  
      next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
    }
  }
  
  void ListSubscriptionsResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ListSubscriptionsResponse::CopyFrom(const ListSubscriptionsResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ListSubscriptionsResponse::IsInitialized() const {
    return true;
  }
  
  void ListSubscriptionsResponse::Swap(ListSubscriptionsResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ListSubscriptionsResponse::InternalSwap(ListSubscriptionsResponse* other) {
    using std::swap;
    subscriptions_.InternalSwap(&other->subscriptions_);
    next_page_token_.Swap(&other->next_page_token_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ListSubscriptionsResponse::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void DeleteSubscriptionRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int DeleteSubscriptionRequest::kSubscriptionFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  DeleteSubscriptionRequest::DeleteSubscriptionRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsDeleteSubscriptionRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  }
  DeleteSubscriptionRequest::DeleteSubscriptionRequest(const DeleteSubscriptionRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  }
  
  void DeleteSubscriptionRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  DeleteSubscriptionRequest::~DeleteSubscriptionRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    SharedDtor();
  }
  
  void DeleteSubscriptionRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void DeleteSubscriptionRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* DeleteSubscriptionRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const DeleteSubscriptionRequest& DeleteSubscriptionRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsDeleteSubscriptionRequest();
    return *internal_default_instance();
  }
  
  DeleteSubscriptionRequest* DeleteSubscriptionRequest::New(::google::protobuf::Arena* arena) const {
    DeleteSubscriptionRequest* n = new DeleteSubscriptionRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void DeleteSubscriptionRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool DeleteSubscriptionRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    return false;
  #undef DO_
  }
  
  void DeleteSubscriptionRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  }
  
  ::google::protobuf::uint8* DeleteSubscriptionRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    return target;
  }
  
  size_t DeleteSubscriptionRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void DeleteSubscriptionRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const DeleteSubscriptionRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const DeleteSubscriptionRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.DeleteSubscriptionRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.DeleteSubscriptionRequest)
      MergeFrom(*source);
    }
  }
  
  void DeleteSubscriptionRequest::MergeFrom(const DeleteSubscriptionRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
  }
  
  void DeleteSubscriptionRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void DeleteSubscriptionRequest::CopyFrom(const DeleteSubscriptionRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool DeleteSubscriptionRequest::IsInitialized() const {
    return true;
  }
  
  void DeleteSubscriptionRequest::Swap(DeleteSubscriptionRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void DeleteSubscriptionRequest::InternalSwap(DeleteSubscriptionRequest* other) {
    using std::swap;
    subscription_.Swap(&other->subscription_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata DeleteSubscriptionRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ModifyPushConfigRequest::InitAsDefaultInstance() {
    ::google::pubsub::v1beta2::_ModifyPushConfigRequest_default_instance_._instance.get_mutable()->push_config_ = const_cast< ::google::pubsub::v1beta2::PushConfig*>(
        ::google::pubsub::v1beta2::PushConfig::internal_default_instance());
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ModifyPushConfigRequest::kSubscriptionFieldNumber;
  const int ModifyPushConfigRequest::kPushConfigFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ModifyPushConfigRequest::ModifyPushConfigRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsModifyPushConfigRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
  }
  ModifyPushConfigRequest::ModifyPushConfigRequest(const ModifyPushConfigRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    if (from.has_push_config()) {
      push_config_ = new ::google::pubsub::v1beta2::PushConfig(*from.push_config_);
    } else {
      push_config_ = NULL;
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
  }
  
  void ModifyPushConfigRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    push_config_ = NULL;
    _cached_size_ = 0;
  }
  
  ModifyPushConfigRequest::~ModifyPushConfigRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
    SharedDtor();
  }
  
  void ModifyPushConfigRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete push_config_;
  }
  
  void ModifyPushConfigRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ModifyPushConfigRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ModifyPushConfigRequest& ModifyPushConfigRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsModifyPushConfigRequest();
    return *internal_default_instance();
  }
  
  ModifyPushConfigRequest* ModifyPushConfigRequest::New(::google::protobuf::Arena* arena) const {
    ModifyPushConfigRequest* n = new ModifyPushConfigRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ModifyPushConfigRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == NULL && push_config_ != NULL) {
      delete push_config_;
    }
    push_config_ = NULL;
    _internal_metadata_.Clear();
  }
  
  bool ModifyPushConfigRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.pubsub.v1beta2.PushConfig push_config = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_push_config()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ModifyPushConfigRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ModifyPushConfigRequest)
    return false;
  #undef DO_
  }
  
  void ModifyPushConfigRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 2;
    if (this->has_push_config()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, *this->push_config_, output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ModifyPushConfigRequest)
  }
  
  ::google::protobuf::uint8* ModifyPushConfigRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 2;
    if (this->has_push_config()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, *this->push_config_, deterministic, target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ModifyPushConfigRequest)
    return target;
  }
  
  size_t ModifyPushConfigRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    // .google.pubsub.v1beta2.PushConfig push_config = 2;
    if (this->has_push_config()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->push_config_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ModifyPushConfigRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const ModifyPushConfigRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ModifyPushConfigRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ModifyPushConfigRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ModifyPushConfigRequest)
      MergeFrom(*source);
    }
  }
  
  void ModifyPushConfigRequest::MergeFrom(const ModifyPushConfigRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    if (from.has_push_config()) {
      mutable_push_config()->::google::pubsub::v1beta2::PushConfig::MergeFrom(from.push_config());
    }
  }
  
  void ModifyPushConfigRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ModifyPushConfigRequest::CopyFrom(const ModifyPushConfigRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ModifyPushConfigRequest::IsInitialized() const {
    return true;
  }
  
  void ModifyPushConfigRequest::Swap(ModifyPushConfigRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ModifyPushConfigRequest::InternalSwap(ModifyPushConfigRequest* other) {
    using std::swap;
    subscription_.Swap(&other->subscription_);
    swap(push_config_, other->push_config_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ModifyPushConfigRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void PullRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PullRequest::kSubscriptionFieldNumber;
  const int PullRequest::kReturnImmediatelyFieldNumber;
  const int PullRequest::kMaxMessagesFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PullRequest::PullRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPullRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PullRequest)
  }
  PullRequest::PullRequest(const PullRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    ::memcpy(&return_immediately_, &from.return_immediately_,
      static_cast<size_t>(reinterpret_cast<char*>(&max_messages_) -
      reinterpret_cast<char*>(&return_immediately_)) + sizeof(max_messages_));
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PullRequest)
  }
  
  void PullRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&return_immediately_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&max_messages_) -
        reinterpret_cast<char*>(&return_immediately_)) + sizeof(max_messages_));
    _cached_size_ = 0;
  }
  
  PullRequest::~PullRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PullRequest)
    SharedDtor();
  }
  
  void PullRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void PullRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PullRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PullRequest& PullRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPullRequest();
    return *internal_default_instance();
  }
  
  PullRequest* PullRequest::New(::google::protobuf::Arena* arena) const {
    PullRequest* n = new PullRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PullRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PullRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&return_immediately_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&max_messages_) -
        reinterpret_cast<char*>(&return_immediately_)) + sizeof(max_messages_));
    _internal_metadata_.Clear();
  }
  
  bool PullRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PullRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.PullRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // bool return_immediately = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &return_immediately_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 max_messages = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &max_messages_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PullRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PullRequest)
    return false;
  #undef DO_
  }
  
  void PullRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PullRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PullRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    // bool return_immediately = 2;
    if (this->return_immediately() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->return_immediately(), output);
    }
  
    // int32 max_messages = 3;
    if (this->max_messages() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->max_messages(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PullRequest)
  }
  
  ::google::protobuf::uint8* PullRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PullRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.PullRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    // bool return_immediately = 2;
    if (this->return_immediately() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->return_immediately(), target);
    }
  
    // int32 max_messages = 3;
    if (this->max_messages() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->max_messages(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PullRequest)
    return target;
  }
  
  size_t PullRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PullRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    // bool return_immediately = 2;
    if (this->return_immediately() != 0) {
      total_size += 1 + 1;
    }
  
    // int32 max_messages = 3;
    if (this->max_messages() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->max_messages());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PullRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PullRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const PullRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PullRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PullRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PullRequest)
      MergeFrom(*source);
    }
  }
  
  void PullRequest::MergeFrom(const PullRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PullRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    if (from.return_immediately() != 0) {
      set_return_immediately(from.return_immediately());
    }
    if (from.max_messages() != 0) {
      set_max_messages(from.max_messages());
    }
  }
  
  void PullRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PullRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PullRequest::CopyFrom(const PullRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PullRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PullRequest::IsInitialized() const {
    return true;
  }
  
  void PullRequest::Swap(PullRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PullRequest::InternalSwap(PullRequest* other) {
    using std::swap;
    subscription_.Swap(&other->subscription_);
    swap(return_immediately_, other->return_immediately_);
    swap(max_messages_, other->max_messages_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PullRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void PullResponse::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int PullResponse::kReceivedMessagesFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  PullResponse::PullResponse()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPullResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PullResponse)
  }
  PullResponse::PullResponse(const PullResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        received_messages_(from.received_messages_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PullResponse)
  }
  
  void PullResponse::SharedCtor() {
    _cached_size_ = 0;
  }
  
  PullResponse::~PullResponse() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PullResponse)
    SharedDtor();
  }
  
  void PullResponse::SharedDtor() {
  }
  
  void PullResponse::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* PullResponse::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const PullResponse& PullResponse::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsPullResponse();
    return *internal_default_instance();
  }
  
  PullResponse* PullResponse::New(::google::protobuf::Arena* arena) const {
    PullResponse* n = new PullResponse;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void PullResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PullResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    received_messages_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool PullResponse::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PullResponse)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_received_messages()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PullResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PullResponse)
    return false;
  #undef DO_
  }
  
  void PullResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PullResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->received_messages_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, this->received_messages(static_cast<int>(i)), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PullResponse)
  }
  
  ::google::protobuf::uint8* PullResponse::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PullResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->received_messages_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, this->received_messages(static_cast<int>(i)), deterministic, target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PullResponse)
    return target;
  }
  
  size_t PullResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PullResponse)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
    {
      unsigned int count = static_cast<unsigned int>(this->received_messages_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->received_messages(static_cast<int>(i)));
      }
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void PullResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PullResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const PullResponse* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const PullResponse>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PullResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PullResponse)
      MergeFrom(*source);
    }
  }
  
  void PullResponse::MergeFrom(const PullResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PullResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    received_messages_.MergeFrom(from.received_messages_);
  }
  
  void PullResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PullResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void PullResponse::CopyFrom(const PullResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PullResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool PullResponse::IsInitialized() const {
    return true;
  }
  
  void PullResponse::Swap(PullResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void PullResponse::InternalSwap(PullResponse* other) {
    using std::swap;
    received_messages_.InternalSwap(&other->received_messages_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata PullResponse::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void ModifyAckDeadlineRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int ModifyAckDeadlineRequest::kSubscriptionFieldNumber;
  const int ModifyAckDeadlineRequest::kAckIdFieldNumber;
  const int ModifyAckDeadlineRequest::kAckDeadlineSecondsFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  ModifyAckDeadlineRequest::ModifyAckDeadlineRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsModifyAckDeadlineRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  }
  ModifyAckDeadlineRequest::ModifyAckDeadlineRequest(const ModifyAckDeadlineRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.ack_id().size() > 0) {
      ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
    }
    ack_deadline_seconds_ = from.ack_deadline_seconds_;
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  }
  
  void ModifyAckDeadlineRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ack_deadline_seconds_ = 0;
    _cached_size_ = 0;
  }
  
  ModifyAckDeadlineRequest::~ModifyAckDeadlineRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    SharedDtor();
  }
  
  void ModifyAckDeadlineRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ack_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void ModifyAckDeadlineRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* ModifyAckDeadlineRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const ModifyAckDeadlineRequest& ModifyAckDeadlineRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsModifyAckDeadlineRequest();
    return *internal_default_instance();
  }
  
  ModifyAckDeadlineRequest* ModifyAckDeadlineRequest::New(::google::protobuf::Arena* arena) const {
    ModifyAckDeadlineRequest* n = new ModifyAckDeadlineRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void ModifyAckDeadlineRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ack_deadline_seconds_ = 0;
    _internal_metadata_.Clear();
  }
  
  bool ModifyAckDeadlineRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string ack_id = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_ack_id()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->ack_id().data(), static_cast<int>(this->ack_id().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // int32 ack_deadline_seconds = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &ack_deadline_seconds_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    return false;
  #undef DO_
  }
  
  void ModifyAckDeadlineRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    // string ack_id = 2;
    if (this->ack_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_id().data(), static_cast<int>(this->ack_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->ack_id(), output);
    }
  
    // int32 ack_deadline_seconds = 3;
    if (this->ack_deadline_seconds() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->ack_deadline_seconds(), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  }
  
  ::google::protobuf::uint8* ModifyAckDeadlineRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    // string ack_id = 2;
    if (this->ack_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_id().data(), static_cast<int>(this->ack_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->ack_id(), target);
    }
  
    // int32 ack_deadline_seconds = 3;
    if (this->ack_deadline_seconds() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->ack_deadline_seconds(), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    return target;
  }
  
  size_t ModifyAckDeadlineRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    // string ack_id = 2;
    if (this->ack_id().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->ack_id());
    }
  
    // int32 ack_deadline_seconds = 3;
    if (this->ack_deadline_seconds() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->ack_deadline_seconds());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void ModifyAckDeadlineRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const ModifyAckDeadlineRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const ModifyAckDeadlineRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
      MergeFrom(*source);
    }
  }
  
  void ModifyAckDeadlineRequest::MergeFrom(const ModifyAckDeadlineRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    if (from.ack_id().size() > 0) {
  
      ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
    }
    if (from.ack_deadline_seconds() != 0) {
      set_ack_deadline_seconds(from.ack_deadline_seconds());
    }
  }
  
  void ModifyAckDeadlineRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void ModifyAckDeadlineRequest::CopyFrom(const ModifyAckDeadlineRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ModifyAckDeadlineRequest::IsInitialized() const {
    return true;
  }
  
  void ModifyAckDeadlineRequest::Swap(ModifyAckDeadlineRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void ModifyAckDeadlineRequest::InternalSwap(ModifyAckDeadlineRequest* other) {
    using std::swap;
    subscription_.Swap(&other->subscription_);
    ack_id_.Swap(&other->ack_id_);
    swap(ack_deadline_seconds_, other->ack_deadline_seconds_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata ModifyAckDeadlineRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void AcknowledgeRequest::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int AcknowledgeRequest::kSubscriptionFieldNumber;
  const int AcknowledgeRequest::kAckIdsFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  AcknowledgeRequest::AcknowledgeRequest()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsAcknowledgeRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.AcknowledgeRequest)
  }
  AcknowledgeRequest::AcknowledgeRequest(const AcknowledgeRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        ack_ids_(from.ack_ids_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.subscription().size() > 0) {
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
    // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.AcknowledgeRequest)
  }
  
  void AcknowledgeRequest::SharedCtor() {
    subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _cached_size_ = 0;
  }
  
  AcknowledgeRequest::~AcknowledgeRequest() {
    // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.AcknowledgeRequest)
    SharedDtor();
  }
  
  void AcknowledgeRequest::SharedDtor() {
    subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void AcknowledgeRequest::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* AcknowledgeRequest::descriptor() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const AcknowledgeRequest& AcknowledgeRequest::default_instance() {
    ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::InitDefaultsAcknowledgeRequest();
    return *internal_default_instance();
  }
  
  AcknowledgeRequest* AcknowledgeRequest::New(::google::protobuf::Arena* arena) const {
    AcknowledgeRequest* n = new AcknowledgeRequest;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void AcknowledgeRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.AcknowledgeRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    ack_ids_.Clear();
    subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  bool AcknowledgeRequest::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.AcknowledgeRequest)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // string subscription = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_subscription()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->subscription().data(), static_cast<int>(this->subscription().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.AcknowledgeRequest.subscription"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated string ack_ids = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->add_ack_ids()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->ack_ids(this->ack_ids_size() - 1).data(),
              static_cast<int>(this->ack_ids(this->ack_ids_size() - 1).length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.AcknowledgeRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.AcknowledgeRequest)
    return false;
  #undef DO_
  }
  
  void AcknowledgeRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.AcknowledgeRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.AcknowledgeRequest.subscription");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->subscription(), output);
    }
  
    // repeated string ack_ids = 2;
    for (int i = 0, n = this->ack_ids_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_ids(i).data(), static_cast<int>(this->ack_ids(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids");
      ::google::protobuf::internal::WireFormatLite::WriteString(
        2, this->ack_ids(i), output);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
    }
    // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.AcknowledgeRequest)
  }
  
  ::google::protobuf::uint8* AcknowledgeRequest::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.AcknowledgeRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->subscription().data(), static_cast<int>(this->subscription().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.AcknowledgeRequest.subscription");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->subscription(), target);
    }
  
    // repeated string ack_ids = 2;
    for (int i = 0, n = this->ack_ids_size(); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->ack_ids(i).data(), static_cast<int>(this->ack_ids(i).length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids");
      target = ::google::protobuf::internal::WireFormatLite::
        WriteStringToArray(2, this->ack_ids(i), target);
    }
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.AcknowledgeRequest)
    return target;
  }
  
  size_t AcknowledgeRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.AcknowledgeRequest)
    size_t total_size = 0;
  
    if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
    }
    // repeated string ack_ids = 2;
    total_size += 1 *
        ::google::protobuf::internal::FromIntSize(this->ack_ids_size());
    for (int i = 0, n = this->ack_ids_size(); i < n; i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        this->ack_ids(i));
    }
  
    // string subscription = 1;
    if (this->subscription().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->subscription());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void AcknowledgeRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const AcknowledgeRequest* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const AcknowledgeRequest>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.AcknowledgeRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.AcknowledgeRequest)
      MergeFrom(*source);
    }
  }
  
  void AcknowledgeRequest::MergeFrom(const AcknowledgeRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    ack_ids_.MergeFrom(from.ack_ids_);
    if (from.subscription().size() > 0) {
  
      subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
    }
  }
  
  void AcknowledgeRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void AcknowledgeRequest::CopyFrom(const AcknowledgeRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool AcknowledgeRequest::IsInitialized() const {
    return true;
  }
  
  void AcknowledgeRequest::Swap(AcknowledgeRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void AcknowledgeRequest::InternalSwap(AcknowledgeRequest* other) {
    using std::swap;
    ack_ids_.InternalSwap(&other->ack_ids_);
    subscription_.Swap(&other->subscription_);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata AcknowledgeRequest::GetMetadata() const {
    protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_google_2fpubsub_2fv1beta2_2fpubsub_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  }  // namespace v1beta2
  }  // namespace pubsub
  }  // namespace google
  
  // @@protoc_insertion_point(global_scope)
  