// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: steamdatagram_messages_auth.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_steamdatagram_5fmessages_5fauth_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_steamdatagram_5fmessages_5fauth_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include "steamnetworkingsockets_messages_certs.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_steamdatagram_5fmessages_5fauth_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_steamdatagram_5fmessages_5fauth_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_steamdatagram_5fmessages_5fauth_2eproto;
class CMsgSteamDatagramCachedCredentialsForApp;
struct CMsgSteamDatagramCachedCredentialsForAppDefaultTypeInternal;
extern CMsgSteamDatagramCachedCredentialsForAppDefaultTypeInternal _CMsgSteamDatagramCachedCredentialsForApp_default_instance_;
class CMsgSteamDatagramGameCoordinatorServerLogin;
struct CMsgSteamDatagramGameCoordinatorServerLoginDefaultTypeInternal;
extern CMsgSteamDatagramGameCoordinatorServerLoginDefaultTypeInternal _CMsgSteamDatagramGameCoordinatorServerLogin_default_instance_;
class CMsgSteamDatagramHostedServerAddressPlaintext;
struct CMsgSteamDatagramHostedServerAddressPlaintextDefaultTypeInternal;
extern CMsgSteamDatagramHostedServerAddressPlaintextDefaultTypeInternal _CMsgSteamDatagramHostedServerAddressPlaintext_default_instance_;
class CMsgSteamDatagramRelayAuthTicket;
struct CMsgSteamDatagramRelayAuthTicketDefaultTypeInternal;
extern CMsgSteamDatagramRelayAuthTicketDefaultTypeInternal _CMsgSteamDatagramRelayAuthTicket_default_instance_;
class CMsgSteamDatagramRelayAuthTicket_ExtraField;
struct CMsgSteamDatagramRelayAuthTicket_ExtraFieldDefaultTypeInternal;
extern CMsgSteamDatagramRelayAuthTicket_ExtraFieldDefaultTypeInternal _CMsgSteamDatagramRelayAuthTicket_ExtraField_default_instance_;
class CMsgSteamDatagramSignedGameCoordinatorServerLogin;
struct CMsgSteamDatagramSignedGameCoordinatorServerLoginDefaultTypeInternal;
extern CMsgSteamDatagramSignedGameCoordinatorServerLoginDefaultTypeInternal _CMsgSteamDatagramSignedGameCoordinatorServerLogin_default_instance_;
class CMsgSteamDatagramSignedRelayAuthTicket;
struct CMsgSteamDatagramSignedRelayAuthTicketDefaultTypeInternal;
extern CMsgSteamDatagramSignedRelayAuthTicketDefaultTypeInternal _CMsgSteamDatagramSignedRelayAuthTicket_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::CMsgSteamDatagramCachedCredentialsForApp* Arena::CreateMaybeMessage<::CMsgSteamDatagramCachedCredentialsForApp>(Arena*);
template<> ::CMsgSteamDatagramGameCoordinatorServerLogin* Arena::CreateMaybeMessage<::CMsgSteamDatagramGameCoordinatorServerLogin>(Arena*);
template<> ::CMsgSteamDatagramHostedServerAddressPlaintext* Arena::CreateMaybeMessage<::CMsgSteamDatagramHostedServerAddressPlaintext>(Arena*);
template<> ::CMsgSteamDatagramRelayAuthTicket* Arena::CreateMaybeMessage<::CMsgSteamDatagramRelayAuthTicket>(Arena*);
template<> ::CMsgSteamDatagramRelayAuthTicket_ExtraField* Arena::CreateMaybeMessage<::CMsgSteamDatagramRelayAuthTicket_ExtraField>(Arena*);
template<> ::CMsgSteamDatagramSignedGameCoordinatorServerLogin* Arena::CreateMaybeMessage<::CMsgSteamDatagramSignedGameCoordinatorServerLogin>(Arena*);
template<> ::CMsgSteamDatagramSignedRelayAuthTicket* Arena::CreateMaybeMessage<::CMsgSteamDatagramSignedRelayAuthTicket>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

// ===================================================================

class CMsgSteamDatagramRelayAuthTicket_ExtraField final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramRelayAuthTicket.ExtraField) */ {
 public:
  inline CMsgSteamDatagramRelayAuthTicket_ExtraField() : CMsgSteamDatagramRelayAuthTicket_ExtraField(nullptr) {}
  ~CMsgSteamDatagramRelayAuthTicket_ExtraField() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramRelayAuthTicket_ExtraField(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramRelayAuthTicket_ExtraField(const CMsgSteamDatagramRelayAuthTicket_ExtraField& from);
  CMsgSteamDatagramRelayAuthTicket_ExtraField(CMsgSteamDatagramRelayAuthTicket_ExtraField&& from) noexcept
    : CMsgSteamDatagramRelayAuthTicket_ExtraField() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramRelayAuthTicket_ExtraField& operator=(const CMsgSteamDatagramRelayAuthTicket_ExtraField& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramRelayAuthTicket_ExtraField& operator=(CMsgSteamDatagramRelayAuthTicket_ExtraField&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramRelayAuthTicket_ExtraField& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramRelayAuthTicket_ExtraField* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramRelayAuthTicket_ExtraField*>(
               &_CMsgSteamDatagramRelayAuthTicket_ExtraField_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(CMsgSteamDatagramRelayAuthTicket_ExtraField& a, CMsgSteamDatagramRelayAuthTicket_ExtraField& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramRelayAuthTicket_ExtraField* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramRelayAuthTicket_ExtraField* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramRelayAuthTicket_ExtraField* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramRelayAuthTicket_ExtraField>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramRelayAuthTicket_ExtraField& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramRelayAuthTicket_ExtraField& from) {
    CMsgSteamDatagramRelayAuthTicket_ExtraField::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramRelayAuthTicket_ExtraField* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramRelayAuthTicket.ExtraField";
  }
  protected:
  explicit CMsgSteamDatagramRelayAuthTicket_ExtraField(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kStringValueFieldNumber = 2,
    kInt64ValueFieldNumber = 3,
    kFixed64ValueFieldNumber = 5,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional string string_value = 2;
  bool has_string_value() const;
  private:
  bool _internal_has_string_value() const;
  public:
  void clear_string_value();
  const std::string& string_value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_string_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_string_value();
  PROTOBUF_NODISCARD std::string* release_string_value();
  void set_allocated_string_value(std::string* string_value);
  private:
  const std::string& _internal_string_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(const std::string& value);
  std::string* _internal_mutable_string_value();
  public:

  // optional sint64 int64_value = 3;
  bool has_int64_value() const;
  private:
  bool _internal_has_int64_value() const;
  public:
  void clear_int64_value();
  int64_t int64_value() const;
  void set_int64_value(int64_t value);
  private:
  int64_t _internal_int64_value() const;
  void _internal_set_int64_value(int64_t value);
  public:

  // optional fixed64 fixed64_value = 5;
  bool has_fixed64_value() const;
  private:
  bool _internal_has_fixed64_value() const;
  public:
  void clear_fixed64_value();
  uint64_t fixed64_value() const;
  void set_fixed64_value(uint64_t value);
  private:
  uint64_t _internal_fixed64_value() const;
  void _internal_set_fixed64_value(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramRelayAuthTicket.ExtraField)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_value_;
    int64_t int64_value_;
    uint64_t fixed64_value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramRelayAuthTicket final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramRelayAuthTicket) */ {
 public:
  inline CMsgSteamDatagramRelayAuthTicket() : CMsgSteamDatagramRelayAuthTicket(nullptr) {}
  ~CMsgSteamDatagramRelayAuthTicket() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramRelayAuthTicket(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramRelayAuthTicket(const CMsgSteamDatagramRelayAuthTicket& from);
  CMsgSteamDatagramRelayAuthTicket(CMsgSteamDatagramRelayAuthTicket&& from) noexcept
    : CMsgSteamDatagramRelayAuthTicket() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramRelayAuthTicket& operator=(const CMsgSteamDatagramRelayAuthTicket& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramRelayAuthTicket& operator=(CMsgSteamDatagramRelayAuthTicket&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramRelayAuthTicket& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramRelayAuthTicket* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramRelayAuthTicket*>(
               &_CMsgSteamDatagramRelayAuthTicket_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(CMsgSteamDatagramRelayAuthTicket& a, CMsgSteamDatagramRelayAuthTicket& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramRelayAuthTicket* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramRelayAuthTicket* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramRelayAuthTicket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramRelayAuthTicket>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramRelayAuthTicket& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramRelayAuthTicket& from) {
    CMsgSteamDatagramRelayAuthTicket::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramRelayAuthTicket* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramRelayAuthTicket";
  }
  protected:
  explicit CMsgSteamDatagramRelayAuthTicket(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSteamDatagramRelayAuthTicket_ExtraField ExtraField;

  // accessors -------------------------------------------------------

  enum : int {
    kExtraFieldsFieldNumber = 8,
    kGameserverAddressFieldNumber = 11,
    kLegacyAuthorizedClientIdentityBinaryFieldNumber = 12,
    kLegacyGameserverIdentityBinaryFieldNumber = 13,
    kAuthorizedClientIdentityStringFieldNumber = 14,
    kGameserverIdentityStringFieldNumber = 15,
    kLegacyAuthorizedSteamIdFieldNumber = 2,
    kTimeExpiryFieldNumber = 1,
    kAuthorizedPublicIpFieldNumber = 3,
    kLegacyGameserverSteamIdFieldNumber = 4,
    kAppIdFieldNumber = 7,
    kLegacyGameserverPopIdFieldNumber = 9,
    kVirtualPortFieldNumber = 10,
  };
  // repeated .CMsgSteamDatagramRelayAuthTicket.ExtraField extra_fields = 8;
  int extra_fields_size() const;
  private:
  int _internal_extra_fields_size() const;
  public:
  void clear_extra_fields();
  ::CMsgSteamDatagramRelayAuthTicket_ExtraField* mutable_extra_fields(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramRelayAuthTicket_ExtraField >*
      mutable_extra_fields();
  private:
  const ::CMsgSteamDatagramRelayAuthTicket_ExtraField& _internal_extra_fields(int index) const;
  ::CMsgSteamDatagramRelayAuthTicket_ExtraField* _internal_add_extra_fields();
  public:
  const ::CMsgSteamDatagramRelayAuthTicket_ExtraField& extra_fields(int index) const;
  ::CMsgSteamDatagramRelayAuthTicket_ExtraField* add_extra_fields();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramRelayAuthTicket_ExtraField >&
      extra_fields() const;

  // optional bytes gameserver_address = 11;
  bool has_gameserver_address() const;
  private:
  bool _internal_has_gameserver_address() const;
  public:
  void clear_gameserver_address();
  const std::string& gameserver_address() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_gameserver_address(ArgT0&& arg0, ArgT... args);
  std::string* mutable_gameserver_address();
  PROTOBUF_NODISCARD std::string* release_gameserver_address();
  void set_allocated_gameserver_address(std::string* gameserver_address);
  private:
  const std::string& _internal_gameserver_address() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_gameserver_address(const std::string& value);
  std::string* _internal_mutable_gameserver_address();
  public:

  // optional bytes legacy_authorized_client_identity_binary = 12;
  bool has_legacy_authorized_client_identity_binary() const;
  private:
  bool _internal_has_legacy_authorized_client_identity_binary() const;
  public:
  void clear_legacy_authorized_client_identity_binary();
  const std::string& legacy_authorized_client_identity_binary() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_legacy_authorized_client_identity_binary(ArgT0&& arg0, ArgT... args);
  std::string* mutable_legacy_authorized_client_identity_binary();
  PROTOBUF_NODISCARD std::string* release_legacy_authorized_client_identity_binary();
  void set_allocated_legacy_authorized_client_identity_binary(std::string* legacy_authorized_client_identity_binary);
  private:
  const std::string& _internal_legacy_authorized_client_identity_binary() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_legacy_authorized_client_identity_binary(const std::string& value);
  std::string* _internal_mutable_legacy_authorized_client_identity_binary();
  public:

  // optional bytes legacy_gameserver_identity_binary = 13;
  bool has_legacy_gameserver_identity_binary() const;
  private:
  bool _internal_has_legacy_gameserver_identity_binary() const;
  public:
  void clear_legacy_gameserver_identity_binary();
  const std::string& legacy_gameserver_identity_binary() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_legacy_gameserver_identity_binary(ArgT0&& arg0, ArgT... args);
  std::string* mutable_legacy_gameserver_identity_binary();
  PROTOBUF_NODISCARD std::string* release_legacy_gameserver_identity_binary();
  void set_allocated_legacy_gameserver_identity_binary(std::string* legacy_gameserver_identity_binary);
  private:
  const std::string& _internal_legacy_gameserver_identity_binary() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_legacy_gameserver_identity_binary(const std::string& value);
  std::string* _internal_mutable_legacy_gameserver_identity_binary();
  public:

  // optional string authorized_client_identity_string = 14;
  bool has_authorized_client_identity_string() const;
  private:
  bool _internal_has_authorized_client_identity_string() const;
  public:
  void clear_authorized_client_identity_string();
  const std::string& authorized_client_identity_string() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_authorized_client_identity_string(ArgT0&& arg0, ArgT... args);
  std::string* mutable_authorized_client_identity_string();
  PROTOBUF_NODISCARD std::string* release_authorized_client_identity_string();
  void set_allocated_authorized_client_identity_string(std::string* authorized_client_identity_string);
  private:
  const std::string& _internal_authorized_client_identity_string() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_authorized_client_identity_string(const std::string& value);
  std::string* _internal_mutable_authorized_client_identity_string();
  public:

  // optional string gameserver_identity_string = 15;
  bool has_gameserver_identity_string() const;
  private:
  bool _internal_has_gameserver_identity_string() const;
  public:
  void clear_gameserver_identity_string();
  const std::string& gameserver_identity_string() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_gameserver_identity_string(ArgT0&& arg0, ArgT... args);
  std::string* mutable_gameserver_identity_string();
  PROTOBUF_NODISCARD std::string* release_gameserver_identity_string();
  void set_allocated_gameserver_identity_string(std::string* gameserver_identity_string);
  private:
  const std::string& _internal_gameserver_identity_string() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_gameserver_identity_string(const std::string& value);
  std::string* _internal_mutable_gameserver_identity_string();
  public:

  // optional fixed64 legacy_authorized_steam_id = 2;
  bool has_legacy_authorized_steam_id() const;
  private:
  bool _internal_has_legacy_authorized_steam_id() const;
  public:
  void clear_legacy_authorized_steam_id();
  uint64_t legacy_authorized_steam_id() const;
  void set_legacy_authorized_steam_id(uint64_t value);
  private:
  uint64_t _internal_legacy_authorized_steam_id() const;
  void _internal_set_legacy_authorized_steam_id(uint64_t value);
  public:

  // optional fixed32 time_expiry = 1;
  bool has_time_expiry() const;
  private:
  bool _internal_has_time_expiry() const;
  public:
  void clear_time_expiry();
  uint32_t time_expiry() const;
  void set_time_expiry(uint32_t value);
  private:
  uint32_t _internal_time_expiry() const;
  void _internal_set_time_expiry(uint32_t value);
  public:

  // optional fixed32 authorized_public_ip = 3;
  bool has_authorized_public_ip() const;
  private:
  bool _internal_has_authorized_public_ip() const;
  public:
  void clear_authorized_public_ip();
  uint32_t authorized_public_ip() const;
  void set_authorized_public_ip(uint32_t value);
  private:
  uint32_t _internal_authorized_public_ip() const;
  void _internal_set_authorized_public_ip(uint32_t value);
  public:

  // optional fixed64 legacy_gameserver_steam_id = 4;
  bool has_legacy_gameserver_steam_id() const;
  private:
  bool _internal_has_legacy_gameserver_steam_id() const;
  public:
  void clear_legacy_gameserver_steam_id();
  uint64_t legacy_gameserver_steam_id() const;
  void set_legacy_gameserver_steam_id(uint64_t value);
  private:
  uint64_t _internal_legacy_gameserver_steam_id() const;
  void _internal_set_legacy_gameserver_steam_id(uint64_t value);
  public:

  // optional uint32 app_id = 7;
  bool has_app_id() const;
  private:
  bool _internal_has_app_id() const;
  public:
  void clear_app_id();
  uint32_t app_id() const;
  void set_app_id(uint32_t value);
  private:
  uint32_t _internal_app_id() const;
  void _internal_set_app_id(uint32_t value);
  public:

  // optional fixed32 legacy_gameserver_pop_id = 9;
  bool has_legacy_gameserver_pop_id() const;
  private:
  bool _internal_has_legacy_gameserver_pop_id() const;
  public:
  void clear_legacy_gameserver_pop_id();
  uint32_t legacy_gameserver_pop_id() const;
  void set_legacy_gameserver_pop_id(uint32_t value);
  private:
  uint32_t _internal_legacy_gameserver_pop_id() const;
  void _internal_set_legacy_gameserver_pop_id(uint32_t value);
  public:

  // optional uint32 virtual_port = 10;
  bool has_virtual_port() const;
  private:
  bool _internal_has_virtual_port() const;
  public:
  void clear_virtual_port();
  uint32_t virtual_port() const;
  void set_virtual_port(uint32_t value);
  private:
  uint32_t _internal_virtual_port() const;
  void _internal_set_virtual_port(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramRelayAuthTicket)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramRelayAuthTicket_ExtraField > extra_fields_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr gameserver_address_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legacy_authorized_client_identity_binary_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legacy_gameserver_identity_binary_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr authorized_client_identity_string_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr gameserver_identity_string_;
    uint64_t legacy_authorized_steam_id_;
    uint32_t time_expiry_;
    uint32_t authorized_public_ip_;
    uint64_t legacy_gameserver_steam_id_;
    uint32_t app_id_;
    uint32_t legacy_gameserver_pop_id_;
    uint32_t virtual_port_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramSignedRelayAuthTicket final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramSignedRelayAuthTicket) */ {
 public:
  inline CMsgSteamDatagramSignedRelayAuthTicket() : CMsgSteamDatagramSignedRelayAuthTicket(nullptr) {}
  ~CMsgSteamDatagramSignedRelayAuthTicket() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramSignedRelayAuthTicket(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramSignedRelayAuthTicket(const CMsgSteamDatagramSignedRelayAuthTicket& from);
  CMsgSteamDatagramSignedRelayAuthTicket(CMsgSteamDatagramSignedRelayAuthTicket&& from) noexcept
    : CMsgSteamDatagramSignedRelayAuthTicket() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramSignedRelayAuthTicket& operator=(const CMsgSteamDatagramSignedRelayAuthTicket& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramSignedRelayAuthTicket& operator=(CMsgSteamDatagramSignedRelayAuthTicket&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramSignedRelayAuthTicket& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramSignedRelayAuthTicket* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramSignedRelayAuthTicket*>(
               &_CMsgSteamDatagramSignedRelayAuthTicket_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(CMsgSteamDatagramSignedRelayAuthTicket& a, CMsgSteamDatagramSignedRelayAuthTicket& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramSignedRelayAuthTicket* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramSignedRelayAuthTicket* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramSignedRelayAuthTicket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramSignedRelayAuthTicket>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramSignedRelayAuthTicket& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramSignedRelayAuthTicket& from) {
    CMsgSteamDatagramSignedRelayAuthTicket::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramSignedRelayAuthTicket* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramSignedRelayAuthTicket";
  }
  protected:
  explicit CMsgSteamDatagramSignedRelayAuthTicket(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCertsFieldNumber = 5,
    kTicketFieldNumber = 3,
    kSignatureFieldNumber = 4,
    kReservedDoNotUseFieldNumber = 1,
    kKeyIdFieldNumber = 2,
  };
  // repeated .CMsgSteamDatagramCertificateSigned certs = 5;
  int certs_size() const;
  private:
  int _internal_certs_size() const;
  public:
  void clear_certs();
  ::CMsgSteamDatagramCertificateSigned* mutable_certs(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramCertificateSigned >*
      mutable_certs();
  private:
  const ::CMsgSteamDatagramCertificateSigned& _internal_certs(int index) const;
  ::CMsgSteamDatagramCertificateSigned* _internal_add_certs();
  public:
  const ::CMsgSteamDatagramCertificateSigned& certs(int index) const;
  ::CMsgSteamDatagramCertificateSigned* add_certs();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramCertificateSigned >&
      certs() const;

  // optional bytes ticket = 3;
  bool has_ticket() const;
  private:
  bool _internal_has_ticket() const;
  public:
  void clear_ticket();
  const std::string& ticket() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_ticket(ArgT0&& arg0, ArgT... args);
  std::string* mutable_ticket();
  PROTOBUF_NODISCARD std::string* release_ticket();
  void set_allocated_ticket(std::string* ticket);
  private:
  const std::string& _internal_ticket() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ticket(const std::string& value);
  std::string* _internal_mutable_ticket();
  public:

  // optional bytes signature = 4;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const std::string& signature() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_signature(ArgT0&& arg0, ArgT... args);
  std::string* mutable_signature();
  PROTOBUF_NODISCARD std::string* release_signature();
  void set_allocated_signature(std::string* signature);
  private:
  const std::string& _internal_signature() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_signature(const std::string& value);
  std::string* _internal_mutable_signature();
  public:

  // optional fixed64 reserved_do_not_use = 1;
  bool has_reserved_do_not_use() const;
  private:
  bool _internal_has_reserved_do_not_use() const;
  public:
  void clear_reserved_do_not_use();
  uint64_t reserved_do_not_use() const;
  void set_reserved_do_not_use(uint64_t value);
  private:
  uint64_t _internal_reserved_do_not_use() const;
  void _internal_set_reserved_do_not_use(uint64_t value);
  public:

  // optional fixed64 key_id = 2;
  bool has_key_id() const;
  private:
  bool _internal_has_key_id() const;
  public:
  void clear_key_id();
  uint64_t key_id() const;
  void set_key_id(uint64_t value);
  private:
  uint64_t _internal_key_id() const;
  void _internal_set_key_id(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramSignedRelayAuthTicket)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramCertificateSigned > certs_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ticket_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr signature_;
    uint64_t reserved_do_not_use_;
    uint64_t key_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramCachedCredentialsForApp final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramCachedCredentialsForApp) */ {
 public:
  inline CMsgSteamDatagramCachedCredentialsForApp() : CMsgSteamDatagramCachedCredentialsForApp(nullptr) {}
  ~CMsgSteamDatagramCachedCredentialsForApp() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramCachedCredentialsForApp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramCachedCredentialsForApp(const CMsgSteamDatagramCachedCredentialsForApp& from);
  CMsgSteamDatagramCachedCredentialsForApp(CMsgSteamDatagramCachedCredentialsForApp&& from) noexcept
    : CMsgSteamDatagramCachedCredentialsForApp() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramCachedCredentialsForApp& operator=(const CMsgSteamDatagramCachedCredentialsForApp& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramCachedCredentialsForApp& operator=(CMsgSteamDatagramCachedCredentialsForApp&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramCachedCredentialsForApp& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramCachedCredentialsForApp* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramCachedCredentialsForApp*>(
               &_CMsgSteamDatagramCachedCredentialsForApp_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(CMsgSteamDatagramCachedCredentialsForApp& a, CMsgSteamDatagramCachedCredentialsForApp& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramCachedCredentialsForApp* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramCachedCredentialsForApp* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramCachedCredentialsForApp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramCachedCredentialsForApp>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramCachedCredentialsForApp& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramCachedCredentialsForApp& from) {
    CMsgSteamDatagramCachedCredentialsForApp::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramCachedCredentialsForApp* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramCachedCredentialsForApp";
  }
  protected:
  explicit CMsgSteamDatagramCachedCredentialsForApp(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRelayTicketsFieldNumber = 3,
    kPrivateKeyFieldNumber = 1,
    kCertFieldNumber = 2,
  };
  // repeated bytes relay_tickets = 3;
  int relay_tickets_size() const;
  private:
  int _internal_relay_tickets_size() const;
  public:
  void clear_relay_tickets();
  const std::string& relay_tickets(int index) const;
  std::string* mutable_relay_tickets(int index);
  void set_relay_tickets(int index, const std::string& value);
  void set_relay_tickets(int index, std::string&& value);
  void set_relay_tickets(int index, const char* value);
  void set_relay_tickets(int index, const void* value, size_t size);
  std::string* add_relay_tickets();
  void add_relay_tickets(const std::string& value);
  void add_relay_tickets(std::string&& value);
  void add_relay_tickets(const char* value);
  void add_relay_tickets(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& relay_tickets() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_relay_tickets();
  private:
  const std::string& _internal_relay_tickets(int index) const;
  std::string* _internal_add_relay_tickets();
  public:

  // optional bytes private_key = 1;
  bool has_private_key() const;
  private:
  bool _internal_has_private_key() const;
  public:
  void clear_private_key();
  const std::string& private_key() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_private_key(ArgT0&& arg0, ArgT... args);
  std::string* mutable_private_key();
  PROTOBUF_NODISCARD std::string* release_private_key();
  void set_allocated_private_key(std::string* private_key);
  private:
  const std::string& _internal_private_key() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_private_key(const std::string& value);
  std::string* _internal_mutable_private_key();
  public:

  // optional bytes cert = 2;
  bool has_cert() const;
  private:
  bool _internal_has_cert() const;
  public:
  void clear_cert();
  const std::string& cert() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cert(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cert();
  PROTOBUF_NODISCARD std::string* release_cert();
  void set_allocated_cert(std::string* cert);
  private:
  const std::string& _internal_cert() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cert(const std::string& value);
  std::string* _internal_mutable_cert();
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramCachedCredentialsForApp)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> relay_tickets_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr private_key_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cert_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramGameCoordinatorServerLogin final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramGameCoordinatorServerLogin) */ {
 public:
  inline CMsgSteamDatagramGameCoordinatorServerLogin() : CMsgSteamDatagramGameCoordinatorServerLogin(nullptr) {}
  ~CMsgSteamDatagramGameCoordinatorServerLogin() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramGameCoordinatorServerLogin(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramGameCoordinatorServerLogin(const CMsgSteamDatagramGameCoordinatorServerLogin& from);
  CMsgSteamDatagramGameCoordinatorServerLogin(CMsgSteamDatagramGameCoordinatorServerLogin&& from) noexcept
    : CMsgSteamDatagramGameCoordinatorServerLogin() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramGameCoordinatorServerLogin& operator=(const CMsgSteamDatagramGameCoordinatorServerLogin& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramGameCoordinatorServerLogin& operator=(CMsgSteamDatagramGameCoordinatorServerLogin&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramGameCoordinatorServerLogin& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramGameCoordinatorServerLogin* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramGameCoordinatorServerLogin*>(
               &_CMsgSteamDatagramGameCoordinatorServerLogin_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(CMsgSteamDatagramGameCoordinatorServerLogin& a, CMsgSteamDatagramGameCoordinatorServerLogin& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramGameCoordinatorServerLogin* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramGameCoordinatorServerLogin* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramGameCoordinatorServerLogin* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramGameCoordinatorServerLogin>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramGameCoordinatorServerLogin& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramGameCoordinatorServerLogin& from) {
    CMsgSteamDatagramGameCoordinatorServerLogin::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramGameCoordinatorServerLogin* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramGameCoordinatorServerLogin";
  }
  protected:
  explicit CMsgSteamDatagramGameCoordinatorServerLogin(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRoutingFieldNumber = 3,
    kAppdataFieldNumber = 4,
    kLegacyIdentityBinaryFieldNumber = 5,
    kIdentityStringFieldNumber = 6,
    kTimeGeneratedFieldNumber = 1,
    kAppidFieldNumber = 2,
    kDummySteamIdFieldNumber = 99,
  };
  // optional bytes routing = 3;
  bool has_routing() const;
  private:
  bool _internal_has_routing() const;
  public:
  void clear_routing();
  const std::string& routing() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_routing(ArgT0&& arg0, ArgT... args);
  std::string* mutable_routing();
  PROTOBUF_NODISCARD std::string* release_routing();
  void set_allocated_routing(std::string* routing);
  private:
  const std::string& _internal_routing() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_routing(const std::string& value);
  std::string* _internal_mutable_routing();
  public:

  // optional bytes appdata = 4;
  bool has_appdata() const;
  private:
  bool _internal_has_appdata() const;
  public:
  void clear_appdata();
  const std::string& appdata() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_appdata(ArgT0&& arg0, ArgT... args);
  std::string* mutable_appdata();
  PROTOBUF_NODISCARD std::string* release_appdata();
  void set_allocated_appdata(std::string* appdata);
  private:
  const std::string& _internal_appdata() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_appdata(const std::string& value);
  std::string* _internal_mutable_appdata();
  public:

  // optional bytes legacy_identity_binary = 5;
  bool has_legacy_identity_binary() const;
  private:
  bool _internal_has_legacy_identity_binary() const;
  public:
  void clear_legacy_identity_binary();
  const std::string& legacy_identity_binary() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_legacy_identity_binary(ArgT0&& arg0, ArgT... args);
  std::string* mutable_legacy_identity_binary();
  PROTOBUF_NODISCARD std::string* release_legacy_identity_binary();
  void set_allocated_legacy_identity_binary(std::string* legacy_identity_binary);
  private:
  const std::string& _internal_legacy_identity_binary() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_legacy_identity_binary(const std::string& value);
  std::string* _internal_mutable_legacy_identity_binary();
  public:

  // optional string identity_string = 6;
  bool has_identity_string() const;
  private:
  bool _internal_has_identity_string() const;
  public:
  void clear_identity_string();
  const std::string& identity_string() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_identity_string(ArgT0&& arg0, ArgT... args);
  std::string* mutable_identity_string();
  PROTOBUF_NODISCARD std::string* release_identity_string();
  void set_allocated_identity_string(std::string* identity_string);
  private:
  const std::string& _internal_identity_string() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_identity_string(const std::string& value);
  std::string* _internal_mutable_identity_string();
  public:

  // optional uint32 time_generated = 1;
  bool has_time_generated() const;
  private:
  bool _internal_has_time_generated() const;
  public:
  void clear_time_generated();
  uint32_t time_generated() const;
  void set_time_generated(uint32_t value);
  private:
  uint32_t _internal_time_generated() const;
  void _internal_set_time_generated(uint32_t value);
  public:

  // optional uint32 appid = 2;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // optional fixed64 dummy_steam_id = 99;
  bool has_dummy_steam_id() const;
  private:
  bool _internal_has_dummy_steam_id() const;
  public:
  void clear_dummy_steam_id();
  uint64_t dummy_steam_id() const;
  void set_dummy_steam_id(uint64_t value);
  private:
  uint64_t _internal_dummy_steam_id() const;
  void _internal_set_dummy_steam_id(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramGameCoordinatorServerLogin)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr routing_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr appdata_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legacy_identity_binary_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr identity_string_;
    uint32_t time_generated_;
    uint32_t appid_;
    uint64_t dummy_steam_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramSignedGameCoordinatorServerLogin final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramSignedGameCoordinatorServerLogin) */ {
 public:
  inline CMsgSteamDatagramSignedGameCoordinatorServerLogin() : CMsgSteamDatagramSignedGameCoordinatorServerLogin(nullptr) {}
  ~CMsgSteamDatagramSignedGameCoordinatorServerLogin() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramSignedGameCoordinatorServerLogin(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramSignedGameCoordinatorServerLogin(const CMsgSteamDatagramSignedGameCoordinatorServerLogin& from);
  CMsgSteamDatagramSignedGameCoordinatorServerLogin(CMsgSteamDatagramSignedGameCoordinatorServerLogin&& from) noexcept
    : CMsgSteamDatagramSignedGameCoordinatorServerLogin() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramSignedGameCoordinatorServerLogin& operator=(const CMsgSteamDatagramSignedGameCoordinatorServerLogin& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramSignedGameCoordinatorServerLogin& operator=(CMsgSteamDatagramSignedGameCoordinatorServerLogin&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramSignedGameCoordinatorServerLogin& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramSignedGameCoordinatorServerLogin* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramSignedGameCoordinatorServerLogin*>(
               &_CMsgSteamDatagramSignedGameCoordinatorServerLogin_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(CMsgSteamDatagramSignedGameCoordinatorServerLogin& a, CMsgSteamDatagramSignedGameCoordinatorServerLogin& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramSignedGameCoordinatorServerLogin* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramSignedGameCoordinatorServerLogin* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramSignedGameCoordinatorServerLogin* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramSignedGameCoordinatorServerLogin>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramSignedGameCoordinatorServerLogin& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramSignedGameCoordinatorServerLogin& from) {
    CMsgSteamDatagramSignedGameCoordinatorServerLogin::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramSignedGameCoordinatorServerLogin* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramSignedGameCoordinatorServerLogin";
  }
  protected:
  explicit CMsgSteamDatagramSignedGameCoordinatorServerLogin(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLoginFieldNumber = 2,
    kSignatureFieldNumber = 3,
    kCertFieldNumber = 1,
  };
  // optional bytes login = 2;
  bool has_login() const;
  private:
  bool _internal_has_login() const;
  public:
  void clear_login();
  const std::string& login() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_login(ArgT0&& arg0, ArgT... args);
  std::string* mutable_login();
  PROTOBUF_NODISCARD std::string* release_login();
  void set_allocated_login(std::string* login);
  private:
  const std::string& _internal_login() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_login(const std::string& value);
  std::string* _internal_mutable_login();
  public:

  // optional bytes signature = 3;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const std::string& signature() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_signature(ArgT0&& arg0, ArgT... args);
  std::string* mutable_signature();
  PROTOBUF_NODISCARD std::string* release_signature();
  void set_allocated_signature(std::string* signature);
  private:
  const std::string& _internal_signature() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_signature(const std::string& value);
  std::string* _internal_mutable_signature();
  public:

  // optional .CMsgSteamDatagramCertificateSigned cert = 1;
  bool has_cert() const;
  private:
  bool _internal_has_cert() const;
  public:
  void clear_cert();
  const ::CMsgSteamDatagramCertificateSigned& cert() const;
  PROTOBUF_NODISCARD ::CMsgSteamDatagramCertificateSigned* release_cert();
  ::CMsgSteamDatagramCertificateSigned* mutable_cert();
  void set_allocated_cert(::CMsgSteamDatagramCertificateSigned* cert);
  private:
  const ::CMsgSteamDatagramCertificateSigned& _internal_cert() const;
  ::CMsgSteamDatagramCertificateSigned* _internal_mutable_cert();
  public:
  void unsafe_arena_set_allocated_cert(
      ::CMsgSteamDatagramCertificateSigned* cert);
  ::CMsgSteamDatagramCertificateSigned* unsafe_arena_release_cert();

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramSignedGameCoordinatorServerLogin)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr login_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr signature_;
    ::CMsgSteamDatagramCertificateSigned* cert_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// -------------------------------------------------------------------

class CMsgSteamDatagramHostedServerAddressPlaintext final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSteamDatagramHostedServerAddressPlaintext) */ {
 public:
  inline CMsgSteamDatagramHostedServerAddressPlaintext() : CMsgSteamDatagramHostedServerAddressPlaintext(nullptr) {}
  ~CMsgSteamDatagramHostedServerAddressPlaintext() override;
  explicit PROTOBUF_CONSTEXPR CMsgSteamDatagramHostedServerAddressPlaintext(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSteamDatagramHostedServerAddressPlaintext(const CMsgSteamDatagramHostedServerAddressPlaintext& from);
  CMsgSteamDatagramHostedServerAddressPlaintext(CMsgSteamDatagramHostedServerAddressPlaintext&& from) noexcept
    : CMsgSteamDatagramHostedServerAddressPlaintext() {
    *this = ::std::move(from);
  }

  inline CMsgSteamDatagramHostedServerAddressPlaintext& operator=(const CMsgSteamDatagramHostedServerAddressPlaintext& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSteamDatagramHostedServerAddressPlaintext& operator=(CMsgSteamDatagramHostedServerAddressPlaintext&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSteamDatagramHostedServerAddressPlaintext& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSteamDatagramHostedServerAddressPlaintext* internal_default_instance() {
    return reinterpret_cast<const CMsgSteamDatagramHostedServerAddressPlaintext*>(
               &_CMsgSteamDatagramHostedServerAddressPlaintext_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(CMsgSteamDatagramHostedServerAddressPlaintext& a, CMsgSteamDatagramHostedServerAddressPlaintext& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSteamDatagramHostedServerAddressPlaintext* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSteamDatagramHostedServerAddressPlaintext* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSteamDatagramHostedServerAddressPlaintext* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSteamDatagramHostedServerAddressPlaintext>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSteamDatagramHostedServerAddressPlaintext& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSteamDatagramHostedServerAddressPlaintext& from) {
    CMsgSteamDatagramHostedServerAddressPlaintext::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSteamDatagramHostedServerAddressPlaintext* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSteamDatagramHostedServerAddressPlaintext";
  }
  protected:
  explicit CMsgSteamDatagramHostedServerAddressPlaintext(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIpv6FieldNumber = 2,
    kIpv4FieldNumber = 1,
    kPortFieldNumber = 3,
    kRoutingSecretFieldNumber = 4,
    kProtocolVersionFieldNumber = 5,
  };
  // optional bytes ipv6 = 2;
  bool has_ipv6() const;
  private:
  bool _internal_has_ipv6() const;
  public:
  void clear_ipv6();
  const std::string& ipv6() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_ipv6(ArgT0&& arg0, ArgT... args);
  std::string* mutable_ipv6();
  PROTOBUF_NODISCARD std::string* release_ipv6();
  void set_allocated_ipv6(std::string* ipv6);
  private:
  const std::string& _internal_ipv6() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ipv6(const std::string& value);
  std::string* _internal_mutable_ipv6();
  public:

  // optional fixed32 ipv4 = 1;
  bool has_ipv4() const;
  private:
  bool _internal_has_ipv4() const;
  public:
  void clear_ipv4();
  uint32_t ipv4() const;
  void set_ipv4(uint32_t value);
  private:
  uint32_t _internal_ipv4() const;
  void _internal_set_ipv4(uint32_t value);
  public:

  // optional uint32 port = 3;
  bool has_port() const;
  private:
  bool _internal_has_port() const;
  public:
  void clear_port();
  uint32_t port() const;
  void set_port(uint32_t value);
  private:
  uint32_t _internal_port() const;
  void _internal_set_port(uint32_t value);
  public:

  // optional fixed64 routing_secret = 4;
  bool has_routing_secret() const;
  private:
  bool _internal_has_routing_secret() const;
  public:
  void clear_routing_secret();
  uint64_t routing_secret() const;
  void set_routing_secret(uint64_t value);
  private:
  uint64_t _internal_routing_secret() const;
  void _internal_set_routing_secret(uint64_t value);
  public:

  // optional uint32 protocol_version = 5;
  bool has_protocol_version() const;
  private:
  bool _internal_has_protocol_version() const;
  public:
  void clear_protocol_version();
  uint32_t protocol_version() const;
  void set_protocol_version(uint32_t value);
  private:
  uint32_t _internal_protocol_version() const;
  void _internal_set_protocol_version(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSteamDatagramHostedServerAddressPlaintext)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ipv6_;
    uint32_t ipv4_;
    uint32_t port_;
    uint64_t routing_secret_;
    uint32_t protocol_version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_steamdatagram_5fmessages_5fauth_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// CMsgSteamDatagramRelayAuthTicket_ExtraField

// optional string name = 1;
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::has_name() const {
  return _internal_has_name();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket_ExtraField::name() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.ExtraField.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.ExtraField.name)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.ExtraField.name)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_name() const {
  return _impl_.name_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::release_name() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.ExtraField.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.ExtraField.name)
}

// optional string string_value = 2;
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_has_string_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::has_string_value() const {
  return _internal_has_string_value();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::clear_string_value() {
  _impl_.string_value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket_ExtraField::string_value() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.ExtraField.string_value)
  return _internal_string_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_string_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.string_value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.ExtraField.string_value)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::mutable_string_value() {
  std::string* _s = _internal_mutable_string_value();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.ExtraField.string_value)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_string_value() const {
  return _impl_.string_value_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_set_string_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.string_value_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_mutable_string_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.string_value_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket_ExtraField::release_string_value() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.ExtraField.string_value)
  if (!_internal_has_string_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.string_value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.string_value_.IsDefault()) {
    _impl_.string_value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_allocated_string_value(std::string* string_value) {
  if (string_value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.string_value_.SetAllocated(string_value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.string_value_.IsDefault()) {
    _impl_.string_value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.ExtraField.string_value)
}

// optional sint64 int64_value = 3;
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_has_int64_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::has_int64_value() const {
  return _internal_has_int64_value();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::clear_int64_value() {
  _impl_.int64_value_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int64_t CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_int64_value() const {
  return _impl_.int64_value_;
}
inline int64_t CMsgSteamDatagramRelayAuthTicket_ExtraField::int64_value() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.ExtraField.int64_value)
  return _internal_int64_value();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_set_int64_value(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.int64_value_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_int64_value(int64_t value) {
  _internal_set_int64_value(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.ExtraField.int64_value)
}

// optional fixed64 fixed64_value = 5;
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_has_fixed64_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket_ExtraField::has_fixed64_value() const {
  return _internal_has_fixed64_value();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::clear_fixed64_value() {
  _impl_.fixed64_value_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_fixed64_value() const {
  return _impl_.fixed64_value_;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket_ExtraField::fixed64_value() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.ExtraField.fixed64_value)
  return _internal_fixed64_value();
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::_internal_set_fixed64_value(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.fixed64_value_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket_ExtraField::set_fixed64_value(uint64_t value) {
  _internal_set_fixed64_value(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.ExtraField.fixed64_value)
}

// -------------------------------------------------------------------

// CMsgSteamDatagramRelayAuthTicket

// optional fixed32 time_expiry = 1;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_time_expiry() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_time_expiry() const {
  return _internal_has_time_expiry();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_time_expiry() {
  _impl_.time_expiry_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::_internal_time_expiry() const {
  return _impl_.time_expiry_;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::time_expiry() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.time_expiry)
  return _internal_time_expiry();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_time_expiry(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.time_expiry_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_time_expiry(uint32_t value) {
  _internal_set_time_expiry(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.time_expiry)
}

// optional string authorized_client_identity_string = 14;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_authorized_client_identity_string() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_authorized_client_identity_string() const {
  return _internal_has_authorized_client_identity_string();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_authorized_client_identity_string() {
  _impl_.authorized_client_identity_string_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::authorized_client_identity_string() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.authorized_client_identity_string)
  return _internal_authorized_client_identity_string();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket::set_authorized_client_identity_string(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.authorized_client_identity_string_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.authorized_client_identity_string)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::mutable_authorized_client_identity_string() {
  std::string* _s = _internal_mutable_authorized_client_identity_string();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.authorized_client_identity_string)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::_internal_authorized_client_identity_string() const {
  return _impl_.authorized_client_identity_string_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_authorized_client_identity_string(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.authorized_client_identity_string_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::_internal_mutable_authorized_client_identity_string() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.authorized_client_identity_string_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::release_authorized_client_identity_string() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.authorized_client_identity_string)
  if (!_internal_has_authorized_client_identity_string()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.authorized_client_identity_string_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.authorized_client_identity_string_.IsDefault()) {
    _impl_.authorized_client_identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_allocated_authorized_client_identity_string(std::string* authorized_client_identity_string) {
  if (authorized_client_identity_string != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.authorized_client_identity_string_.SetAllocated(authorized_client_identity_string, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.authorized_client_identity_string_.IsDefault()) {
    _impl_.authorized_client_identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.authorized_client_identity_string)
}

// optional string gameserver_identity_string = 15;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_gameserver_identity_string() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_gameserver_identity_string() const {
  return _internal_has_gameserver_identity_string();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_gameserver_identity_string() {
  _impl_.gameserver_identity_string_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::gameserver_identity_string() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.gameserver_identity_string)
  return _internal_gameserver_identity_string();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket::set_gameserver_identity_string(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000010u;
 _impl_.gameserver_identity_string_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.gameserver_identity_string)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::mutable_gameserver_identity_string() {
  std::string* _s = _internal_mutable_gameserver_identity_string();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.gameserver_identity_string)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::_internal_gameserver_identity_string() const {
  return _impl_.gameserver_identity_string_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_gameserver_identity_string(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.gameserver_identity_string_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::_internal_mutable_gameserver_identity_string() {
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.gameserver_identity_string_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::release_gameserver_identity_string() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.gameserver_identity_string)
  if (!_internal_has_gameserver_identity_string()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* p = _impl_.gameserver_identity_string_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gameserver_identity_string_.IsDefault()) {
    _impl_.gameserver_identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_allocated_gameserver_identity_string(std::string* gameserver_identity_string) {
  if (gameserver_identity_string != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.gameserver_identity_string_.SetAllocated(gameserver_identity_string, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gameserver_identity_string_.IsDefault()) {
    _impl_.gameserver_identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.gameserver_identity_string)
}

// optional fixed32 authorized_public_ip = 3;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_authorized_public_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_authorized_public_ip() const {
  return _internal_has_authorized_public_ip();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_authorized_public_ip() {
  _impl_.authorized_public_ip_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::_internal_authorized_public_ip() const {
  return _impl_.authorized_public_ip_;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::authorized_public_ip() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.authorized_public_ip)
  return _internal_authorized_public_ip();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_authorized_public_ip(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.authorized_public_ip_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_authorized_public_ip(uint32_t value) {
  _internal_set_authorized_public_ip(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.authorized_public_ip)
}

// optional bytes gameserver_address = 11;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_gameserver_address() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_gameserver_address() const {
  return _internal_has_gameserver_address();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_gameserver_address() {
  _impl_.gameserver_address_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::gameserver_address() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.gameserver_address)
  return _internal_gameserver_address();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket::set_gameserver_address(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.gameserver_address_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.gameserver_address)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::mutable_gameserver_address() {
  std::string* _s = _internal_mutable_gameserver_address();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.gameserver_address)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::_internal_gameserver_address() const {
  return _impl_.gameserver_address_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_gameserver_address(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.gameserver_address_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::_internal_mutable_gameserver_address() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.gameserver_address_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::release_gameserver_address() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.gameserver_address)
  if (!_internal_has_gameserver_address()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.gameserver_address_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gameserver_address_.IsDefault()) {
    _impl_.gameserver_address_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_allocated_gameserver_address(std::string* gameserver_address) {
  if (gameserver_address != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.gameserver_address_.SetAllocated(gameserver_address, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gameserver_address_.IsDefault()) {
    _impl_.gameserver_address_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.gameserver_address)
}

// optional uint32 app_id = 7;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_app_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_app_id() const {
  return _internal_has_app_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_app_id() {
  _impl_.app_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::_internal_app_id() const {
  return _impl_.app_id_;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::app_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.app_id)
  return _internal_app_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_app_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.app_id_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_app_id(uint32_t value) {
  _internal_set_app_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.app_id)
}

// optional uint32 virtual_port = 10;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_virtual_port() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_virtual_port() const {
  return _internal_has_virtual_port();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_virtual_port() {
  _impl_.virtual_port_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::_internal_virtual_port() const {
  return _impl_.virtual_port_;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::virtual_port() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.virtual_port)
  return _internal_virtual_port();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_virtual_port(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.virtual_port_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_virtual_port(uint32_t value) {
  _internal_set_virtual_port(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.virtual_port)
}

// repeated .CMsgSteamDatagramRelayAuthTicket.ExtraField extra_fields = 8;
inline int CMsgSteamDatagramRelayAuthTicket::_internal_extra_fields_size() const {
  return _impl_.extra_fields_.size();
}
inline int CMsgSteamDatagramRelayAuthTicket::extra_fields_size() const {
  return _internal_extra_fields_size();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_extra_fields() {
  _impl_.extra_fields_.Clear();
}
inline ::CMsgSteamDatagramRelayAuthTicket_ExtraField* CMsgSteamDatagramRelayAuthTicket::mutable_extra_fields(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.extra_fields)
  return _impl_.extra_fields_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramRelayAuthTicket_ExtraField >*
CMsgSteamDatagramRelayAuthTicket::mutable_extra_fields() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSteamDatagramRelayAuthTicket.extra_fields)
  return &_impl_.extra_fields_;
}
inline const ::CMsgSteamDatagramRelayAuthTicket_ExtraField& CMsgSteamDatagramRelayAuthTicket::_internal_extra_fields(int index) const {
  return _impl_.extra_fields_.Get(index);
}
inline const ::CMsgSteamDatagramRelayAuthTicket_ExtraField& CMsgSteamDatagramRelayAuthTicket::extra_fields(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.extra_fields)
  return _internal_extra_fields(index);
}
inline ::CMsgSteamDatagramRelayAuthTicket_ExtraField* CMsgSteamDatagramRelayAuthTicket::_internal_add_extra_fields() {
  return _impl_.extra_fields_.Add();
}
inline ::CMsgSteamDatagramRelayAuthTicket_ExtraField* CMsgSteamDatagramRelayAuthTicket::add_extra_fields() {
  ::CMsgSteamDatagramRelayAuthTicket_ExtraField* _add = _internal_add_extra_fields();
  // @@protoc_insertion_point(field_add:CMsgSteamDatagramRelayAuthTicket.extra_fields)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramRelayAuthTicket_ExtraField >&
CMsgSteamDatagramRelayAuthTicket::extra_fields() const {
  // @@protoc_insertion_point(field_list:CMsgSteamDatagramRelayAuthTicket.extra_fields)
  return _impl_.extra_fields_;
}

// optional fixed64 legacy_authorized_steam_id = 2;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_legacy_authorized_steam_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_legacy_authorized_steam_id() const {
  return _internal_has_legacy_authorized_steam_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_legacy_authorized_steam_id() {
  _impl_.legacy_authorized_steam_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket::_internal_legacy_authorized_steam_id() const {
  return _impl_.legacy_authorized_steam_id_;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket::legacy_authorized_steam_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_steam_id)
  return _internal_legacy_authorized_steam_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_legacy_authorized_steam_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.legacy_authorized_steam_id_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_legacy_authorized_steam_id(uint64_t value) {
  _internal_set_legacy_authorized_steam_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_steam_id)
}

// optional fixed64 legacy_gameserver_steam_id = 4;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_legacy_gameserver_steam_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_legacy_gameserver_steam_id() const {
  return _internal_has_legacy_gameserver_steam_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_legacy_gameserver_steam_id() {
  _impl_.legacy_gameserver_steam_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket::_internal_legacy_gameserver_steam_id() const {
  return _impl_.legacy_gameserver_steam_id_;
}
inline uint64_t CMsgSteamDatagramRelayAuthTicket::legacy_gameserver_steam_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_steam_id)
  return _internal_legacy_gameserver_steam_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_legacy_gameserver_steam_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.legacy_gameserver_steam_id_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_legacy_gameserver_steam_id(uint64_t value) {
  _internal_set_legacy_gameserver_steam_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_steam_id)
}

// optional fixed32 legacy_gameserver_pop_id = 9;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_legacy_gameserver_pop_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_legacy_gameserver_pop_id() const {
  return _internal_has_legacy_gameserver_pop_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_legacy_gameserver_pop_id() {
  _impl_.legacy_gameserver_pop_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::_internal_legacy_gameserver_pop_id() const {
  return _impl_.legacy_gameserver_pop_id_;
}
inline uint32_t CMsgSteamDatagramRelayAuthTicket::legacy_gameserver_pop_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_pop_id)
  return _internal_legacy_gameserver_pop_id();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_legacy_gameserver_pop_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.legacy_gameserver_pop_id_ = value;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_legacy_gameserver_pop_id(uint32_t value) {
  _internal_set_legacy_gameserver_pop_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_pop_id)
}

// optional bytes legacy_authorized_client_identity_binary = 12;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_legacy_authorized_client_identity_binary() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_legacy_authorized_client_identity_binary() const {
  return _internal_has_legacy_authorized_client_identity_binary();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_legacy_authorized_client_identity_binary() {
  _impl_.legacy_authorized_client_identity_binary_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::legacy_authorized_client_identity_binary() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_client_identity_binary)
  return _internal_legacy_authorized_client_identity_binary();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket::set_legacy_authorized_client_identity_binary(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.legacy_authorized_client_identity_binary_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_client_identity_binary)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::mutable_legacy_authorized_client_identity_binary() {
  std::string* _s = _internal_mutable_legacy_authorized_client_identity_binary();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_client_identity_binary)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::_internal_legacy_authorized_client_identity_binary() const {
  return _impl_.legacy_authorized_client_identity_binary_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_legacy_authorized_client_identity_binary(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.legacy_authorized_client_identity_binary_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::_internal_mutable_legacy_authorized_client_identity_binary() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.legacy_authorized_client_identity_binary_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::release_legacy_authorized_client_identity_binary() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_client_identity_binary)
  if (!_internal_has_legacy_authorized_client_identity_binary()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.legacy_authorized_client_identity_binary_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_authorized_client_identity_binary_.IsDefault()) {
    _impl_.legacy_authorized_client_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_allocated_legacy_authorized_client_identity_binary(std::string* legacy_authorized_client_identity_binary) {
  if (legacy_authorized_client_identity_binary != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.legacy_authorized_client_identity_binary_.SetAllocated(legacy_authorized_client_identity_binary, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_authorized_client_identity_binary_.IsDefault()) {
    _impl_.legacy_authorized_client_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.legacy_authorized_client_identity_binary)
}

// optional bytes legacy_gameserver_identity_binary = 13;
inline bool CMsgSteamDatagramRelayAuthTicket::_internal_has_legacy_gameserver_identity_binary() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSteamDatagramRelayAuthTicket::has_legacy_gameserver_identity_binary() const {
  return _internal_has_legacy_gameserver_identity_binary();
}
inline void CMsgSteamDatagramRelayAuthTicket::clear_legacy_gameserver_identity_binary() {
  _impl_.legacy_gameserver_identity_binary_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::legacy_gameserver_identity_binary() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_identity_binary)
  return _internal_legacy_gameserver_identity_binary();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramRelayAuthTicket::set_legacy_gameserver_identity_binary(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.legacy_gameserver_identity_binary_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_identity_binary)
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::mutable_legacy_gameserver_identity_binary() {
  std::string* _s = _internal_mutable_legacy_gameserver_identity_binary();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_identity_binary)
  return _s;
}
inline const std::string& CMsgSteamDatagramRelayAuthTicket::_internal_legacy_gameserver_identity_binary() const {
  return _impl_.legacy_gameserver_identity_binary_.Get();
}
inline void CMsgSteamDatagramRelayAuthTicket::_internal_set_legacy_gameserver_identity_binary(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.legacy_gameserver_identity_binary_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::_internal_mutable_legacy_gameserver_identity_binary() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.legacy_gameserver_identity_binary_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramRelayAuthTicket::release_legacy_gameserver_identity_binary() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_identity_binary)
  if (!_internal_has_legacy_gameserver_identity_binary()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.legacy_gameserver_identity_binary_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_gameserver_identity_binary_.IsDefault()) {
    _impl_.legacy_gameserver_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramRelayAuthTicket::set_allocated_legacy_gameserver_identity_binary(std::string* legacy_gameserver_identity_binary) {
  if (legacy_gameserver_identity_binary != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.legacy_gameserver_identity_binary_.SetAllocated(legacy_gameserver_identity_binary, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_gameserver_identity_binary_.IsDefault()) {
    _impl_.legacy_gameserver_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramRelayAuthTicket.legacy_gameserver_identity_binary)
}

// -------------------------------------------------------------------

// CMsgSteamDatagramSignedRelayAuthTicket

// optional fixed64 reserved_do_not_use = 1;
inline bool CMsgSteamDatagramSignedRelayAuthTicket::_internal_has_reserved_do_not_use() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedRelayAuthTicket::has_reserved_do_not_use() const {
  return _internal_has_reserved_do_not_use();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::clear_reserved_do_not_use() {
  _impl_.reserved_do_not_use_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint64_t CMsgSteamDatagramSignedRelayAuthTicket::_internal_reserved_do_not_use() const {
  return _impl_.reserved_do_not_use_;
}
inline uint64_t CMsgSteamDatagramSignedRelayAuthTicket::reserved_do_not_use() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedRelayAuthTicket.reserved_do_not_use)
  return _internal_reserved_do_not_use();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::_internal_set_reserved_do_not_use(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.reserved_do_not_use_ = value;
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::set_reserved_do_not_use(uint64_t value) {
  _internal_set_reserved_do_not_use(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedRelayAuthTicket.reserved_do_not_use)
}

// optional bytes ticket = 3;
inline bool CMsgSteamDatagramSignedRelayAuthTicket::_internal_has_ticket() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedRelayAuthTicket::has_ticket() const {
  return _internal_has_ticket();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::clear_ticket() {
  _impl_.ticket_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramSignedRelayAuthTicket::ticket() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedRelayAuthTicket.ticket)
  return _internal_ticket();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramSignedRelayAuthTicket::set_ticket(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.ticket_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedRelayAuthTicket.ticket)
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::mutable_ticket() {
  std::string* _s = _internal_mutable_ticket();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedRelayAuthTicket.ticket)
  return _s;
}
inline const std::string& CMsgSteamDatagramSignedRelayAuthTicket::_internal_ticket() const {
  return _impl_.ticket_.Get();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::_internal_set_ticket(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ticket_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::_internal_mutable_ticket() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.ticket_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::release_ticket() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramSignedRelayAuthTicket.ticket)
  if (!_internal_has_ticket()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.ticket_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ticket_.IsDefault()) {
    _impl_.ticket_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::set_allocated_ticket(std::string* ticket) {
  if (ticket != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.ticket_.SetAllocated(ticket, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ticket_.IsDefault()) {
    _impl_.ticket_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramSignedRelayAuthTicket.ticket)
}

// optional bytes signature = 4;
inline bool CMsgSteamDatagramSignedRelayAuthTicket::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedRelayAuthTicket::has_signature() const {
  return _internal_has_signature();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::clear_signature() {
  _impl_.signature_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramSignedRelayAuthTicket::signature() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedRelayAuthTicket.signature)
  return _internal_signature();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramSignedRelayAuthTicket::set_signature(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.signature_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedRelayAuthTicket.signature)
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::mutable_signature() {
  std::string* _s = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedRelayAuthTicket.signature)
  return _s;
}
inline const std::string& CMsgSteamDatagramSignedRelayAuthTicket::_internal_signature() const {
  return _impl_.signature_.Get();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::_internal_set_signature(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.signature_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.signature_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedRelayAuthTicket::release_signature() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramSignedRelayAuthTicket.signature)
  if (!_internal_has_signature()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.signature_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.signature_.IsDefault()) {
    _impl_.signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::set_allocated_signature(std::string* signature) {
  if (signature != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.signature_.SetAllocated(signature, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.signature_.IsDefault()) {
    _impl_.signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramSignedRelayAuthTicket.signature)
}

// optional fixed64 key_id = 2;
inline bool CMsgSteamDatagramSignedRelayAuthTicket::_internal_has_key_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedRelayAuthTicket::has_key_id() const {
  return _internal_has_key_id();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::clear_key_id() {
  _impl_.key_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t CMsgSteamDatagramSignedRelayAuthTicket::_internal_key_id() const {
  return _impl_.key_id_;
}
inline uint64_t CMsgSteamDatagramSignedRelayAuthTicket::key_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedRelayAuthTicket.key_id)
  return _internal_key_id();
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::_internal_set_key_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.key_id_ = value;
}
inline void CMsgSteamDatagramSignedRelayAuthTicket::set_key_id(uint64_t value) {
  _internal_set_key_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedRelayAuthTicket.key_id)
}

// repeated .CMsgSteamDatagramCertificateSigned certs = 5;
inline int CMsgSteamDatagramSignedRelayAuthTicket::_internal_certs_size() const {
  return _impl_.certs_.size();
}
inline int CMsgSteamDatagramSignedRelayAuthTicket::certs_size() const {
  return _internal_certs_size();
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedRelayAuthTicket::mutable_certs(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedRelayAuthTicket.certs)
  return _impl_.certs_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramCertificateSigned >*
CMsgSteamDatagramSignedRelayAuthTicket::mutable_certs() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSteamDatagramSignedRelayAuthTicket.certs)
  return &_impl_.certs_;
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamDatagramSignedRelayAuthTicket::_internal_certs(int index) const {
  return _impl_.certs_.Get(index);
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamDatagramSignedRelayAuthTicket::certs(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedRelayAuthTicket.certs)
  return _internal_certs(index);
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedRelayAuthTicket::_internal_add_certs() {
  return _impl_.certs_.Add();
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedRelayAuthTicket::add_certs() {
  ::CMsgSteamDatagramCertificateSigned* _add = _internal_add_certs();
  // @@protoc_insertion_point(field_add:CMsgSteamDatagramSignedRelayAuthTicket.certs)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSteamDatagramCertificateSigned >&
CMsgSteamDatagramSignedRelayAuthTicket::certs() const {
  // @@protoc_insertion_point(field_list:CMsgSteamDatagramSignedRelayAuthTicket.certs)
  return _impl_.certs_;
}

// -------------------------------------------------------------------

// CMsgSteamDatagramCachedCredentialsForApp

// optional bytes private_key = 1;
inline bool CMsgSteamDatagramCachedCredentialsForApp::_internal_has_private_key() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramCachedCredentialsForApp::has_private_key() const {
  return _internal_has_private_key();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::clear_private_key() {
  _impl_.private_key_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::private_key() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramCachedCredentialsForApp.private_key)
  return _internal_private_key();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramCachedCredentialsForApp::set_private_key(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.private_key_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramCachedCredentialsForApp.private_key)
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::mutable_private_key() {
  std::string* _s = _internal_mutable_private_key();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramCachedCredentialsForApp.private_key)
  return _s;
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::_internal_private_key() const {
  return _impl_.private_key_.Get();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::_internal_set_private_key(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.private_key_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::_internal_mutable_private_key() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.private_key_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::release_private_key() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramCachedCredentialsForApp.private_key)
  if (!_internal_has_private_key()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.private_key_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.private_key_.IsDefault()) {
    _impl_.private_key_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_allocated_private_key(std::string* private_key) {
  if (private_key != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.private_key_.SetAllocated(private_key, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.private_key_.IsDefault()) {
    _impl_.private_key_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramCachedCredentialsForApp.private_key)
}

// optional bytes cert = 2;
inline bool CMsgSteamDatagramCachedCredentialsForApp::_internal_has_cert() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramCachedCredentialsForApp::has_cert() const {
  return _internal_has_cert();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::clear_cert() {
  _impl_.cert_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::cert() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramCachedCredentialsForApp.cert)
  return _internal_cert();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramCachedCredentialsForApp::set_cert(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.cert_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramCachedCredentialsForApp.cert)
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::mutable_cert() {
  std::string* _s = _internal_mutable_cert();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramCachedCredentialsForApp.cert)
  return _s;
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::_internal_cert() const {
  return _impl_.cert_.Get();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::_internal_set_cert(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.cert_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::_internal_mutable_cert() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.cert_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::release_cert() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramCachedCredentialsForApp.cert)
  if (!_internal_has_cert()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.cert_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cert_.IsDefault()) {
    _impl_.cert_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_allocated_cert(std::string* cert) {
  if (cert != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.cert_.SetAllocated(cert, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cert_.IsDefault()) {
    _impl_.cert_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramCachedCredentialsForApp.cert)
}

// repeated bytes relay_tickets = 3;
inline int CMsgSteamDatagramCachedCredentialsForApp::_internal_relay_tickets_size() const {
  return _impl_.relay_tickets_.size();
}
inline int CMsgSteamDatagramCachedCredentialsForApp::relay_tickets_size() const {
  return _internal_relay_tickets_size();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::clear_relay_tickets() {
  _impl_.relay_tickets_.Clear();
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::add_relay_tickets() {
  std::string* _s = _internal_add_relay_tickets();
  // @@protoc_insertion_point(field_add_mutable:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
  return _s;
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::_internal_relay_tickets(int index) const {
  return _impl_.relay_tickets_.Get(index);
}
inline const std::string& CMsgSteamDatagramCachedCredentialsForApp::relay_tickets(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
  return _internal_relay_tickets(index);
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::mutable_relay_tickets(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
  return _impl_.relay_tickets_.Mutable(index);
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_relay_tickets(int index, const std::string& value) {
  _impl_.relay_tickets_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_relay_tickets(int index, std::string&& value) {
  _impl_.relay_tickets_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_relay_tickets(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.relay_tickets_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::set_relay_tickets(int index, const void* value, size_t size) {
  _impl_.relay_tickets_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline std::string* CMsgSteamDatagramCachedCredentialsForApp::_internal_add_relay_tickets() {
  return _impl_.relay_tickets_.Add();
}
inline void CMsgSteamDatagramCachedCredentialsForApp::add_relay_tickets(const std::string& value) {
  _impl_.relay_tickets_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::add_relay_tickets(std::string&& value) {
  _impl_.relay_tickets_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::add_relay_tickets(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.relay_tickets_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline void CMsgSteamDatagramCachedCredentialsForApp::add_relay_tickets(const void* value, size_t size) {
  _impl_.relay_tickets_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CMsgSteamDatagramCachedCredentialsForApp::relay_tickets() const {
  // @@protoc_insertion_point(field_list:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
  return _impl_.relay_tickets_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CMsgSteamDatagramCachedCredentialsForApp::mutable_relay_tickets() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSteamDatagramCachedCredentialsForApp.relay_tickets)
  return &_impl_.relay_tickets_;
}

// -------------------------------------------------------------------

// CMsgSteamDatagramGameCoordinatorServerLogin

// optional uint32 time_generated = 1;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_time_generated() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_time_generated() const {
  return _internal_has_time_generated();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_time_generated() {
  _impl_.time_generated_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgSteamDatagramGameCoordinatorServerLogin::_internal_time_generated() const {
  return _impl_.time_generated_;
}
inline uint32_t CMsgSteamDatagramGameCoordinatorServerLogin::time_generated() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.time_generated)
  return _internal_time_generated();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_time_generated(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.time_generated_ = value;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_time_generated(uint32_t value) {
  _internal_set_time_generated(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.time_generated)
}

// optional uint32 appid = 2;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_appid() const {
  return _internal_has_appid();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgSteamDatagramGameCoordinatorServerLogin::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CMsgSteamDatagramGameCoordinatorServerLogin::appid() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.appid)
  return _internal_appid();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.appid_ = value;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.appid)
}

// optional bytes routing = 3;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_routing() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_routing() const {
  return _internal_has_routing();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_routing() {
  _impl_.routing_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::routing() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.routing)
  return _internal_routing();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramGameCoordinatorServerLogin::set_routing(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.routing_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.routing)
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::mutable_routing() {
  std::string* _s = _internal_mutable_routing();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramGameCoordinatorServerLogin.routing)
  return _s;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::_internal_routing() const {
  return _impl_.routing_.Get();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_routing(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.routing_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::_internal_mutable_routing() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.routing_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::release_routing() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramGameCoordinatorServerLogin.routing)
  if (!_internal_has_routing()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.routing_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.routing_.IsDefault()) {
    _impl_.routing_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_allocated_routing(std::string* routing) {
  if (routing != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.routing_.SetAllocated(routing, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.routing_.IsDefault()) {
    _impl_.routing_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramGameCoordinatorServerLogin.routing)
}

// optional bytes appdata = 4;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_appdata() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_appdata() const {
  return _internal_has_appdata();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_appdata() {
  _impl_.appdata_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::appdata() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.appdata)
  return _internal_appdata();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramGameCoordinatorServerLogin::set_appdata(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.appdata_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.appdata)
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::mutable_appdata() {
  std::string* _s = _internal_mutable_appdata();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramGameCoordinatorServerLogin.appdata)
  return _s;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::_internal_appdata() const {
  return _impl_.appdata_.Get();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_appdata(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.appdata_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::_internal_mutable_appdata() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.appdata_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::release_appdata() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramGameCoordinatorServerLogin.appdata)
  if (!_internal_has_appdata()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.appdata_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.appdata_.IsDefault()) {
    _impl_.appdata_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_allocated_appdata(std::string* appdata) {
  if (appdata != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.appdata_.SetAllocated(appdata, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.appdata_.IsDefault()) {
    _impl_.appdata_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramGameCoordinatorServerLogin.appdata)
}

// optional bytes legacy_identity_binary = 5;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_legacy_identity_binary() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_legacy_identity_binary() const {
  return _internal_has_legacy_identity_binary();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_legacy_identity_binary() {
  _impl_.legacy_identity_binary_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::legacy_identity_binary() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.legacy_identity_binary)
  return _internal_legacy_identity_binary();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramGameCoordinatorServerLogin::set_legacy_identity_binary(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.legacy_identity_binary_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.legacy_identity_binary)
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::mutable_legacy_identity_binary() {
  std::string* _s = _internal_mutable_legacy_identity_binary();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramGameCoordinatorServerLogin.legacy_identity_binary)
  return _s;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::_internal_legacy_identity_binary() const {
  return _impl_.legacy_identity_binary_.Get();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_legacy_identity_binary(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.legacy_identity_binary_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::_internal_mutable_legacy_identity_binary() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.legacy_identity_binary_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::release_legacy_identity_binary() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramGameCoordinatorServerLogin.legacy_identity_binary)
  if (!_internal_has_legacy_identity_binary()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.legacy_identity_binary_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_identity_binary_.IsDefault()) {
    _impl_.legacy_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_allocated_legacy_identity_binary(std::string* legacy_identity_binary) {
  if (legacy_identity_binary != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.legacy_identity_binary_.SetAllocated(legacy_identity_binary, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_identity_binary_.IsDefault()) {
    _impl_.legacy_identity_binary_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramGameCoordinatorServerLogin.legacy_identity_binary)
}

// optional string identity_string = 6;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_identity_string() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_identity_string() const {
  return _internal_has_identity_string();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_identity_string() {
  _impl_.identity_string_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::identity_string() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.identity_string)
  return _internal_identity_string();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramGameCoordinatorServerLogin::set_identity_string(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.identity_string_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.identity_string)
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::mutable_identity_string() {
  std::string* _s = _internal_mutable_identity_string();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramGameCoordinatorServerLogin.identity_string)
  return _s;
}
inline const std::string& CMsgSteamDatagramGameCoordinatorServerLogin::_internal_identity_string() const {
  return _impl_.identity_string_.Get();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_identity_string(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.identity_string_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::_internal_mutable_identity_string() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.identity_string_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramGameCoordinatorServerLogin::release_identity_string() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramGameCoordinatorServerLogin.identity_string)
  if (!_internal_has_identity_string()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.identity_string_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.identity_string_.IsDefault()) {
    _impl_.identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_allocated_identity_string(std::string* identity_string) {
  if (identity_string != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.identity_string_.SetAllocated(identity_string, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.identity_string_.IsDefault()) {
    _impl_.identity_string_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramGameCoordinatorServerLogin.identity_string)
}

// optional fixed64 dummy_steam_id = 99;
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::_internal_has_dummy_steam_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSteamDatagramGameCoordinatorServerLogin::has_dummy_steam_id() const {
  return _internal_has_dummy_steam_id();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::clear_dummy_steam_id() {
  _impl_.dummy_steam_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint64_t CMsgSteamDatagramGameCoordinatorServerLogin::_internal_dummy_steam_id() const {
  return _impl_.dummy_steam_id_;
}
inline uint64_t CMsgSteamDatagramGameCoordinatorServerLogin::dummy_steam_id() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramGameCoordinatorServerLogin.dummy_steam_id)
  return _internal_dummy_steam_id();
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::_internal_set_dummy_steam_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.dummy_steam_id_ = value;
}
inline void CMsgSteamDatagramGameCoordinatorServerLogin::set_dummy_steam_id(uint64_t value) {
  _internal_set_dummy_steam_id(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramGameCoordinatorServerLogin.dummy_steam_id)
}

// -------------------------------------------------------------------

// CMsgSteamDatagramSignedGameCoordinatorServerLogin

// optional .CMsgSteamDatagramCertificateSigned cert = 1;
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_has_cert() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.cert_ != nullptr);
  return value;
}
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::has_cert() const {
  return _internal_has_cert();
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_cert() const {
  const ::CMsgSteamDatagramCertificateSigned* p = _impl_.cert_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSteamDatagramCertificateSigned&>(
      ::_CMsgSteamDatagramCertificateSigned_default_instance_);
}
inline const ::CMsgSteamDatagramCertificateSigned& CMsgSteamDatagramSignedGameCoordinatorServerLogin::cert() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedGameCoordinatorServerLogin.cert)
  return _internal_cert();
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::unsafe_arena_set_allocated_cert(
    ::CMsgSteamDatagramCertificateSigned* cert) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cert_);
  }
  _impl_.cert_ = cert;
  if (cert) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSteamDatagramSignedGameCoordinatorServerLogin.cert)
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedGameCoordinatorServerLogin::release_cert() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSteamDatagramCertificateSigned* temp = _impl_.cert_;
  _impl_.cert_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedGameCoordinatorServerLogin::unsafe_arena_release_cert() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramSignedGameCoordinatorServerLogin.cert)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSteamDatagramCertificateSigned* temp = _impl_.cert_;
  _impl_.cert_ = nullptr;
  return temp;
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_mutable_cert() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.cert_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSteamDatagramCertificateSigned>(GetArenaForAllocation());
    _impl_.cert_ = p;
  }
  return _impl_.cert_;
}
inline ::CMsgSteamDatagramCertificateSigned* CMsgSteamDatagramSignedGameCoordinatorServerLogin::mutable_cert() {
  ::CMsgSteamDatagramCertificateSigned* _msg = _internal_mutable_cert();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedGameCoordinatorServerLogin.cert)
  return _msg;
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::set_allocated_cert(::CMsgSteamDatagramCertificateSigned* cert) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cert_);
  }
  if (cert) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(cert));
    if (message_arena != submessage_arena) {
      cert = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, cert, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.cert_ = cert;
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramSignedGameCoordinatorServerLogin.cert)
}

// optional bytes login = 2;
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_has_login() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::has_login() const {
  return _internal_has_login();
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::clear_login() {
  _impl_.login_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramSignedGameCoordinatorServerLogin::login() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedGameCoordinatorServerLogin.login)
  return _internal_login();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramSignedGameCoordinatorServerLogin::set_login(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.login_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedGameCoordinatorServerLogin.login)
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::mutable_login() {
  std::string* _s = _internal_mutable_login();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedGameCoordinatorServerLogin.login)
  return _s;
}
inline const std::string& CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_login() const {
  return _impl_.login_.Get();
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_set_login(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.login_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_mutable_login() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.login_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::release_login() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramSignedGameCoordinatorServerLogin.login)
  if (!_internal_has_login()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.login_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.login_.IsDefault()) {
    _impl_.login_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::set_allocated_login(std::string* login) {
  if (login != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.login_.SetAllocated(login, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.login_.IsDefault()) {
    _impl_.login_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramSignedGameCoordinatorServerLogin.login)
}

// optional bytes signature = 3;
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramSignedGameCoordinatorServerLogin::has_signature() const {
  return _internal_has_signature();
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::clear_signature() {
  _impl_.signature_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSteamDatagramSignedGameCoordinatorServerLogin::signature() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramSignedGameCoordinatorServerLogin.signature)
  return _internal_signature();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramSignedGameCoordinatorServerLogin::set_signature(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.signature_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramSignedGameCoordinatorServerLogin.signature)
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::mutable_signature() {
  std::string* _s = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramSignedGameCoordinatorServerLogin.signature)
  return _s;
}
inline const std::string& CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_signature() const {
  return _impl_.signature_.Get();
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_set_signature(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.signature_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.signature_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramSignedGameCoordinatorServerLogin::release_signature() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramSignedGameCoordinatorServerLogin.signature)
  if (!_internal_has_signature()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.signature_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.signature_.IsDefault()) {
    _impl_.signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramSignedGameCoordinatorServerLogin::set_allocated_signature(std::string* signature) {
  if (signature != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.signature_.SetAllocated(signature, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.signature_.IsDefault()) {
    _impl_.signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramSignedGameCoordinatorServerLogin.signature)
}

// -------------------------------------------------------------------

// CMsgSteamDatagramHostedServerAddressPlaintext

// optional fixed32 ipv4 = 1;
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::_internal_has_ipv4() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::has_ipv4() const {
  return _internal_has_ipv4();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::clear_ipv4() {
  _impl_.ipv4_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::_internal_ipv4() const {
  return _impl_.ipv4_;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::ipv4() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramHostedServerAddressPlaintext.ipv4)
  return _internal_ipv4();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::_internal_set_ipv4(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.ipv4_ = value;
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::set_ipv4(uint32_t value) {
  _internal_set_ipv4(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramHostedServerAddressPlaintext.ipv4)
}

// optional bytes ipv6 = 2;
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::_internal_has_ipv6() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::has_ipv6() const {
  return _internal_has_ipv6();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::clear_ipv6() {
  _impl_.ipv6_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSteamDatagramHostedServerAddressPlaintext::ipv6() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramHostedServerAddressPlaintext.ipv6)
  return _internal_ipv6();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSteamDatagramHostedServerAddressPlaintext::set_ipv6(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.ipv6_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramHostedServerAddressPlaintext.ipv6)
}
inline std::string* CMsgSteamDatagramHostedServerAddressPlaintext::mutable_ipv6() {
  std::string* _s = _internal_mutable_ipv6();
  // @@protoc_insertion_point(field_mutable:CMsgSteamDatagramHostedServerAddressPlaintext.ipv6)
  return _s;
}
inline const std::string& CMsgSteamDatagramHostedServerAddressPlaintext::_internal_ipv6() const {
  return _impl_.ipv6_.Get();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::_internal_set_ipv6(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ipv6_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramHostedServerAddressPlaintext::_internal_mutable_ipv6() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.ipv6_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSteamDatagramHostedServerAddressPlaintext::release_ipv6() {
  // @@protoc_insertion_point(field_release:CMsgSteamDatagramHostedServerAddressPlaintext.ipv6)
  if (!_internal_has_ipv6()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.ipv6_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ipv6_.IsDefault()) {
    _impl_.ipv6_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::set_allocated_ipv6(std::string* ipv6) {
  if (ipv6 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.ipv6_.SetAllocated(ipv6, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ipv6_.IsDefault()) {
    _impl_.ipv6_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSteamDatagramHostedServerAddressPlaintext.ipv6)
}

// optional uint32 port = 3;
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::_internal_has_port() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::has_port() const {
  return _internal_has_port();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::clear_port() {
  _impl_.port_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::_internal_port() const {
  return _impl_.port_;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::port() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramHostedServerAddressPlaintext.port)
  return _internal_port();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::_internal_set_port(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.port_ = value;
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::set_port(uint32_t value) {
  _internal_set_port(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramHostedServerAddressPlaintext.port)
}

// optional fixed64 routing_secret = 4;
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::_internal_has_routing_secret() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::has_routing_secret() const {
  return _internal_has_routing_secret();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::clear_routing_secret() {
  _impl_.routing_secret_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t CMsgSteamDatagramHostedServerAddressPlaintext::_internal_routing_secret() const {
  return _impl_.routing_secret_;
}
inline uint64_t CMsgSteamDatagramHostedServerAddressPlaintext::routing_secret() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramHostedServerAddressPlaintext.routing_secret)
  return _internal_routing_secret();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::_internal_set_routing_secret(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.routing_secret_ = value;
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::set_routing_secret(uint64_t value) {
  _internal_set_routing_secret(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramHostedServerAddressPlaintext.routing_secret)
}

// optional uint32 protocol_version = 5;
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::_internal_has_protocol_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSteamDatagramHostedServerAddressPlaintext::has_protocol_version() const {
  return _internal_has_protocol_version();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::clear_protocol_version() {
  _impl_.protocol_version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::_internal_protocol_version() const {
  return _impl_.protocol_version_;
}
inline uint32_t CMsgSteamDatagramHostedServerAddressPlaintext::protocol_version() const {
  // @@protoc_insertion_point(field_get:CMsgSteamDatagramHostedServerAddressPlaintext.protocol_version)
  return _internal_protocol_version();
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::_internal_set_protocol_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.protocol_version_ = value;
}
inline void CMsgSteamDatagramHostedServerAddressPlaintext::set_protocol_version(uint32_t value) {
  _internal_set_protocol_version(value);
  // @@protoc_insertion_point(field_set:CMsgSteamDatagramHostedServerAddressPlaintext.protocol_version)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_steamdatagram_5fmessages_5fauth_2eproto
