// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: transport_messages.proto
// Protobuf C++ Version: 7.35.1

#include "transport_messages.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace browser_actuator {
class WatchSessionsRequest_Session::_Internal {
 public:
  using HasBits = decltype(::std::declval<WatchSessionsRequest_Session>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_._has_bits_);
};

constexpr WatchSessionsRequest_Session::ParseTableT_ WatchSessionsRequest_Session::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::WatchSessionsRequest_Session>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int64 last_seen_sequence_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_.last_seen_sequence_number_)}},
      // string session_id = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_.session_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string session_id = 1;
      {PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_.session_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int64 last_seen_sequence_number = 2;
      {PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_.last_seen_sequence_number_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
      "\55\12\0\0\0\0\0\0"
      "browser_actuator.WatchSessionsRequest.Session"
      "session_id"
    }},
  };
}


inline constexpr WatchSessionsRequest_Session::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        session_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        last_seen_sequence_number_{::int64_t{0}} {}

template <typename>
constexpr WatchSessionsRequest_Session::WatchSessionsRequest_Session(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL WatchSessionsRequest_Session::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WatchSessionsRequest_Session(arena);
}
constexpr auto WatchSessionsRequest_Session::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WatchSessionsRequest_Session), alignof(WatchSessionsRequest_Session));
}
constexpr auto WatchSessionsRequest_Session::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &WatchSessionsRequest_Session::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WatchSessionsRequest_Session>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WatchSessionsRequest_Session::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WatchSessionsRequest_Session>(), &WatchSessionsRequest_Session::ByteSizeLong,
              &WatchSessionsRequest_Session::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_Session, _impl_._cached_size_),
          true,
      },
      "browser_actuator.WatchSessionsRequest.Session",
  };
}
struct WatchSessionsRequest_SessionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WatchSessionsRequest_SessionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WatchSessionsRequest_Session_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WatchSessionsRequest_Session::InternalGenerateClassData_(
            _default, &WatchSessionsRequest_Session_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsRequest_Session>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WatchSessionsRequest_SessionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WatchSessionsRequest_Session _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsRequest_Session>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WatchSessionsRequest_SessionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WatchSessionsRequest_SessionGlobalsTypeInternal WatchSessionsRequest_Session_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WatchSessionsRequest_Session_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WatchSessionsRequest_Session_globals_.GetClassData();
#else
  return WatchSessionsRequest_Session_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SendSessionMessageResponse::_Internal {
 public:
};

constexpr SendSessionMessageResponse::ParseTableT_ SendSessionMessageResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SendSessionMessageResponse,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::SendSessionMessageResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


inline constexpr SendSessionMessageResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0} {}

template <typename>
constexpr SendSessionMessageResponse::SendSessionMessageResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SendSessionMessageResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SendSessionMessageResponse(arena);
}
constexpr auto SendSessionMessageResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SendSessionMessageResponse), alignof(SendSessionMessageResponse));
}
constexpr auto SendSessionMessageResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SendSessionMessageResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SendSessionMessageResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SendSessionMessageResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SendSessionMessageResponse>(), &SendSessionMessageResponse::ByteSizeLong,
              &SendSessionMessageResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SendSessionMessageResponse, _impl_._cached_size_),
          true,
      },
      "browser_actuator.SendSessionMessageResponse",
  };
}
struct SendSessionMessageResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SendSessionMessageResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SendSessionMessageResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SendSessionMessageResponse::InternalGenerateClassData_(
            _default, &SendSessionMessageResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SendSessionMessageResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SendSessionMessageResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SendSessionMessageResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SendSessionMessageResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SendSessionMessageResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SendSessionMessageResponseGlobalsTypeInternal SendSessionMessageResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SendSessionMessageResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SendSessionMessageResponse_globals_.GetClassData();
#else
  return SendSessionMessageResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ControlCommand_CloseSession::_Internal {
 public:
};

constexpr ControlCommand_CloseSession::ParseTableT_ ControlCommand_CloseSession::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ControlCommand_CloseSession,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ControlCommand_CloseSession>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


inline constexpr ControlCommand_CloseSession::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0} {}

template <typename>
constexpr ControlCommand_CloseSession::ControlCommand_CloseSession(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ControlCommand_CloseSession::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ControlCommand_CloseSession(arena);
}
constexpr auto ControlCommand_CloseSession::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ControlCommand_CloseSession), alignof(ControlCommand_CloseSession));
}
constexpr auto ControlCommand_CloseSession::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ControlCommand_CloseSession::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ControlCommand_CloseSession>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ControlCommand_CloseSession::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ControlCommand_CloseSession>(), &ControlCommand_CloseSession::ByteSizeLong,
              &ControlCommand_CloseSession::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ControlCommand_CloseSession, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ControlCommand.CloseSession",
  };
}
struct ControlCommand_CloseSessionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ControlCommand_CloseSessionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ControlCommand_CloseSession_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ControlCommand_CloseSession::InternalGenerateClassData_(
            _default, &ControlCommand_CloseSession_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand_CloseSession>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ControlCommand_CloseSessionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ControlCommand_CloseSession _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand_CloseSession>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ControlCommand_CloseSessionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ControlCommand_CloseSessionGlobalsTypeInternal ControlCommand_CloseSession_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ControlCommand_CloseSession_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ControlCommand_CloseSession_globals_.GetClassData();
#else
  return ControlCommand_CloseSession_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ControlCommand_CloseChannel::_Internal {
 public:
};

constexpr ControlCommand_CloseChannel::ParseTableT_ ControlCommand_CloseChannel::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ControlCommand_CloseChannel,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ControlCommand_CloseChannel>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


inline constexpr ControlCommand_CloseChannel::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0} {}

template <typename>
constexpr ControlCommand_CloseChannel::ControlCommand_CloseChannel(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ControlCommand_CloseChannel::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ControlCommand_CloseChannel(arena);
}
constexpr auto ControlCommand_CloseChannel::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ControlCommand_CloseChannel), alignof(ControlCommand_CloseChannel));
}
constexpr auto ControlCommand_CloseChannel::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ControlCommand_CloseChannel::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ControlCommand_CloseChannel>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ControlCommand_CloseChannel::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ControlCommand_CloseChannel>(), &ControlCommand_CloseChannel::ByteSizeLong,
              &ControlCommand_CloseChannel::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ControlCommand_CloseChannel, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ControlCommand.CloseChannel",
  };
}
struct ControlCommand_CloseChannelGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ControlCommand_CloseChannelGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ControlCommand_CloseChannel_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ControlCommand_CloseChannel::InternalGenerateClassData_(
            _default, &ControlCommand_CloseChannel_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand_CloseChannel>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ControlCommand_CloseChannelGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ControlCommand_CloseChannel _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand_CloseChannel>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ControlCommand_CloseChannelGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ControlCommand_CloseChannelGlobalsTypeInternal ControlCommand_CloseChannel_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ControlCommand_CloseChannel_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ControlCommand_CloseChannel_globals_.GetClassData();
#else
  return ControlCommand_CloseChannel_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActuatorUpstreamMessage_BrowserActuatorCapabilities::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActuatorUpstreamMessage_BrowserActuatorCapabilities>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_._has_bits_);
};

constexpr ActuatorUpstreamMessage_BrowserActuatorCapabilities::ParseTableT_ ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string supported_features = 2;
      {::_pbi::TcParser::FastUR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.supported_features_)}},
      // int64 chrome_major_version_number = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.chrome_major_version_number_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 chrome_major_version_number = 1;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.chrome_major_version_number_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated string supported_features = 2;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.supported_features_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\104\0\22\0\0\0\0\0"
      "browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities"
      "supported_features"
    }},
  };
}


inline constexpr ActuatorUpstreamMessage_BrowserActuatorCapabilities::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        supported_features_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.supported_features_)>()
         }
        ,
        chrome_major_version_number_{::int64_t{0}} {}

template <typename>
constexpr ActuatorUpstreamMessage_BrowserActuatorCapabilities::ActuatorUpstreamMessage_BrowserActuatorCapabilities(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ActuatorUpstreamMessage_BrowserActuatorCapabilities::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActuatorUpstreamMessage_BrowserActuatorCapabilities(arena);
}
constexpr auto ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ActuatorUpstreamMessage_BrowserActuatorCapabilities), alignof(ActuatorUpstreamMessage_BrowserActuatorCapabilities));
}
constexpr auto ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ActuatorUpstreamMessage_BrowserActuatorCapabilities::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActuatorUpstreamMessage_BrowserActuatorCapabilities>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActuatorUpstreamMessage_BrowserActuatorCapabilities::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActuatorUpstreamMessage_BrowserActuatorCapabilities>(), &ActuatorUpstreamMessage_BrowserActuatorCapabilities::ByteSizeLong,
              &ActuatorUpstreamMessage_BrowserActuatorCapabilities::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities",
  };
}
struct ActuatorUpstreamMessage_BrowserActuatorCapabilitiesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActuatorUpstreamMessage_BrowserActuatorCapabilitiesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActuatorUpstreamMessage_BrowserActuatorCapabilities_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalGenerateClassData_(
            _default, &ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamMessage_BrowserActuatorCapabilities>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActuatorUpstreamMessage_BrowserActuatorCapabilitiesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActuatorUpstreamMessage_BrowserActuatorCapabilities _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamMessage_BrowserActuatorCapabilities>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage_BrowserActuatorCapabilitiesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActuatorUpstreamMessage_BrowserActuatorCapabilitiesGlobalsTypeInternal ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActuatorUpstreamMessage_BrowserActuatorCapabilities_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_.GetClassData();
#else
  return ActuatorUpstreamMessage_BrowserActuatorCapabilities_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class WatchSessionsRequest::_Internal {
 public:
  using HasBits = decltype(::std::declval<WatchSessionsRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_._has_bits_);
};

constexpr WatchSessionsRequest::ParseTableT_ WatchSessionsRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::WatchSessionsRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .browser_actuator.WatchSessionsRequest.Session sessions = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_.sessions_)}},
      // string request_id = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_.request_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string request_id = 1;
      {PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_.request_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .browser_actuator.WatchSessionsRequest.Session sessions = 2;
      {PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_.sessions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::WatchSessionsRequest_Session>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::WatchSessionsRequest_Session_globals_},
        #endif
    }},
    {{
      "\45\12\0\0\0\0\0\0"
      "browser_actuator.WatchSessionsRequest"
      "request_id"
    }},
  };
}


inline constexpr WatchSessionsRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sessions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::WatchSessionsRequest,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::WatchSessionsRequest, _impl_.sessions_)>()
         }
        ,
        request_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr WatchSessionsRequest::WatchSessionsRequest(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL WatchSessionsRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WatchSessionsRequest(arena);
}
constexpr auto WatchSessionsRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WatchSessionsRequest), alignof(WatchSessionsRequest));
}
constexpr auto WatchSessionsRequest::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &WatchSessionsRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WatchSessionsRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WatchSessionsRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WatchSessionsRequest>(), &WatchSessionsRequest::ByteSizeLong,
              &WatchSessionsRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WatchSessionsRequest, _impl_._cached_size_),
          true,
      },
      "browser_actuator.WatchSessionsRequest",
  };
}
struct WatchSessionsRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WatchSessionsRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WatchSessionsRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WatchSessionsRequest::InternalGenerateClassData_(
            _default, &WatchSessionsRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WatchSessionsRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WatchSessionsRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WatchSessionsRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WatchSessionsRequestGlobalsTypeInternal WatchSessionsRequest_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WatchSessionsRequest_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WatchSessionsRequest_globals_.GetClassData();
#else
  return WatchSessionsRequest_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ControlCommand::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::browser_actuator::ControlCommand, _impl_._oneof_case_);
};

constexpr ControlCommand::ParseTableT_ ControlCommand::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ControlCommand,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ControlCommand>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .browser_actuator.ControlCommand.CloseChannel close_channel = 1;
      {PROTOBUF_FIELD_OFFSET(ControlCommand, _impl_.command_.close_channel_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .browser_actuator.ControlCommand.CloseSession close_session = 2;
      {PROTOBUF_FIELD_OFFSET(ControlCommand, _impl_.command_.close_session_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ControlCommand_CloseChannel>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ControlCommand_CloseChannel_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ControlCommand_CloseSession>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ControlCommand_CloseSession_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ControlCommand::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : command_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr ControlCommand::ControlCommand(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ControlCommand::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ControlCommand(arena);
}
constexpr auto ControlCommand::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ControlCommand), alignof(ControlCommand));
}
constexpr auto ControlCommand::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ControlCommand::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ControlCommand>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ControlCommand::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ControlCommand>(), &ControlCommand::ByteSizeLong,
              &ControlCommand::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ControlCommand, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ControlCommand",
  };
}
struct ControlCommandGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ControlCommandGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ControlCommand_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ControlCommand::InternalGenerateClassData_(
            _default, &ControlCommand_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ControlCommandGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ControlCommand _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ControlCommand>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ControlCommandGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ControlCommandGlobalsTypeInternal ControlCommand_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ControlCommand_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ControlCommand_globals_.GetClassData();
#else
  return ControlCommand_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActuatorUpstreamTypedPayload::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActuatorUpstreamTypedPayload>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_._has_bits_);
};

constexpr ActuatorUpstreamTypedPayload::ParseTableT_ ActuatorUpstreamTypedPayload::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamTypedPayload>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .browser_actuator.ActuatorUpstreamPayloadType payload_type = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.payload_type_)}},
      // .google.protobuf.Any proto_payload = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.proto_payload_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .google.protobuf.Any proto_payload = 1;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.proto_payload_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .browser_actuator.ActuatorUpstreamPayloadType payload_type = 2;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.payload_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::google::protobuf::Any>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::google::protobuf::Any_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ActuatorUpstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        proto_payload_{nullptr},
        payload_type_{static_cast< ::browser_actuator::ActuatorUpstreamPayloadType >(0)} {}

template <typename>
constexpr ActuatorUpstreamTypedPayload::ActuatorUpstreamTypedPayload(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ActuatorUpstreamTypedPayload::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActuatorUpstreamTypedPayload(arena);
}
constexpr auto ActuatorUpstreamTypedPayload::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActuatorUpstreamTypedPayload), alignof(ActuatorUpstreamTypedPayload));
}
constexpr auto ActuatorUpstreamTypedPayload::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ActuatorUpstreamTypedPayload::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActuatorUpstreamTypedPayload>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActuatorUpstreamTypedPayload::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActuatorUpstreamTypedPayload>(), &ActuatorUpstreamTypedPayload::ByteSizeLong,
              &ActuatorUpstreamTypedPayload::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ActuatorUpstreamTypedPayload",
  };
}
struct ActuatorUpstreamTypedPayloadGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActuatorUpstreamTypedPayloadGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActuatorUpstreamTypedPayload_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActuatorUpstreamTypedPayload::InternalGenerateClassData_(
            _default, &ActuatorUpstreamTypedPayload_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamTypedPayload>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActuatorUpstreamTypedPayloadGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActuatorUpstreamTypedPayload _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamTypedPayload>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayloadGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActuatorUpstreamTypedPayloadGlobalsTypeInternal ActuatorUpstreamTypedPayload_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActuatorUpstreamTypedPayload_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActuatorUpstreamTypedPayload_globals_.GetClassData();
#else
  return ActuatorUpstreamTypedPayload_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActuatorDownstreamTypedPayload::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActuatorDownstreamTypedPayload>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_._has_bits_);
};

constexpr ActuatorDownstreamTypedPayload::ParseTableT_ ActuatorDownstreamTypedPayload::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ActuatorDownstreamTypedPayload>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .browser_actuator.ActuatorDownstreamPayloadType payload_type = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.payload_type_)}},
      // .google.protobuf.Any proto_payload = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.proto_payload_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .google.protobuf.Any proto_payload = 1;
      {PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.proto_payload_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .browser_actuator.ActuatorDownstreamPayloadType payload_type = 2;
      {PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.payload_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::google::protobuf::Any>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::google::protobuf::Any_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ActuatorDownstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        proto_payload_{nullptr},
        payload_type_{static_cast< ::browser_actuator::ActuatorDownstreamPayloadType >(0)} {}

template <typename>
constexpr ActuatorDownstreamTypedPayload::ActuatorDownstreamTypedPayload(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ActuatorDownstreamTypedPayload::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActuatorDownstreamTypedPayload(arena);
}
constexpr auto ActuatorDownstreamTypedPayload::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ActuatorDownstreamTypedPayload), alignof(ActuatorDownstreamTypedPayload));
}
constexpr auto ActuatorDownstreamTypedPayload::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ActuatorDownstreamTypedPayload::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActuatorDownstreamTypedPayload>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActuatorDownstreamTypedPayload::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActuatorDownstreamTypedPayload>(), &ActuatorDownstreamTypedPayload::ByteSizeLong,
              &ActuatorDownstreamTypedPayload::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ActuatorDownstreamTypedPayload",
  };
}
struct ActuatorDownstreamTypedPayloadGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActuatorDownstreamTypedPayloadGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActuatorDownstreamTypedPayload_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActuatorDownstreamTypedPayload::InternalGenerateClassData_(
            _default, &ActuatorDownstreamTypedPayload_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActuatorDownstreamTypedPayload>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActuatorDownstreamTypedPayloadGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActuatorDownstreamTypedPayload _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActuatorDownstreamTypedPayload>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayloadGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActuatorDownstreamTypedPayloadGlobalsTypeInternal ActuatorDownstreamTypedPayload_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActuatorDownstreamTypedPayload_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActuatorDownstreamTypedPayload_globals_.GetClassData();
#else
  return ActuatorDownstreamTypedPayload_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActuatorUpstreamMessage::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActuatorUpstreamMessage>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_._has_bits_);
};

constexpr ActuatorUpstreamMessage::ParseTableT_ ActuatorUpstreamMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string session_id = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.session_id_)}},
      // int64 client_sequence_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.client_sequence_number_)}},
      // optional int64 responding_to_sequence_number = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.responding_to_sequence_number_)}},
      // .browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities capabilities = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.capabilities_)}},
      // repeated .browser_actuator.ActuatorUpstreamTypedPayload typed_payloads = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 0, 1,
        PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.typed_payloads_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string session_id = 1;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.session_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int64 client_sequence_number = 2;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.client_sequence_number_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 responding_to_sequence_number = 3;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.responding_to_sequence_number_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities capabilities = 4;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.capabilities_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .browser_actuator.ActuatorUpstreamTypedPayload typed_payloads = 5;
      {PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.typed_payloads_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamTypedPayload>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ActuatorUpstreamTypedPayload_globals_},
        #endif
    }},
    {{
      "\50\12\0\0\0\0\0\0"
      "browser_actuator.ActuatorUpstreamMessage"
      "session_id"
    }},
  };
}


inline constexpr ActuatorUpstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        typed_payloads_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorUpstreamMessage,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage, _impl_.typed_payloads_)>()
         }
        ,
        session_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        capabilities_{nullptr},
        client_sequence_number_{::int64_t{0}},
        responding_to_sequence_number_{::int64_t{0}} {}

template <typename>
constexpr ActuatorUpstreamMessage::ActuatorUpstreamMessage(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ActuatorUpstreamMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActuatorUpstreamMessage(arena);
}
constexpr auto ActuatorUpstreamMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ActuatorUpstreamMessage), alignof(ActuatorUpstreamMessage));
}
constexpr auto ActuatorUpstreamMessage::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ActuatorUpstreamMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActuatorUpstreamMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActuatorUpstreamMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActuatorUpstreamMessage>(), &ActuatorUpstreamMessage::ByteSizeLong,
              &ActuatorUpstreamMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ActuatorUpstreamMessage",
  };
}
struct ActuatorUpstreamMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActuatorUpstreamMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActuatorUpstreamMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActuatorUpstreamMessage::InternalGenerateClassData_(
            _default, &ActuatorUpstreamMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActuatorUpstreamMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActuatorUpstreamMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActuatorUpstreamMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActuatorUpstreamMessageGlobalsTypeInternal ActuatorUpstreamMessage_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActuatorUpstreamMessage_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActuatorUpstreamMessage_globals_.GetClassData();
#else
  return ActuatorUpstreamMessage_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ActuatorDownstreamMessage::_Internal {
 public:
  using HasBits = decltype(::std::declval<ActuatorDownstreamMessage>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_._has_bits_);
};

constexpr ActuatorDownstreamMessage::ParseTableT_ ActuatorDownstreamMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::ActuatorDownstreamMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string session_id = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.session_id_)}},
      // int64 sequence_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.sequence_number_)}},
      // repeated .browser_actuator.ActuatorDownstreamTypedPayload typed_payloads = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.typed_payloads_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string session_id = 1;
      {PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.session_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int64 sequence_number = 2;
      {PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.sequence_number_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated .browser_actuator.ActuatorDownstreamTypedPayload typed_payloads = 3;
      {PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_.typed_payloads_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ActuatorDownstreamTypedPayload>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ActuatorDownstreamTypedPayload_globals_},
        #endif
    }},
    {{
      "\52\12\0\0\0\0\0\0"
      "browser_actuator.ActuatorDownstreamMessage"
      "session_id"
    }},
  };
}


inline constexpr ActuatorDownstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        typed_payloads_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorDownstreamMessage,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorDownstreamMessage, _impl_.typed_payloads_)>()
         }
        ,
        session_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        sequence_number_{::int64_t{0}} {}

template <typename>
constexpr ActuatorDownstreamMessage::ActuatorDownstreamMessage(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ActuatorDownstreamMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ActuatorDownstreamMessage(arena);
}
constexpr auto ActuatorDownstreamMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ActuatorDownstreamMessage), alignof(ActuatorDownstreamMessage));
}
constexpr auto ActuatorDownstreamMessage::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ActuatorDownstreamMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ActuatorDownstreamMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ActuatorDownstreamMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ActuatorDownstreamMessage>(), &ActuatorDownstreamMessage::ByteSizeLong,
              &ActuatorDownstreamMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessage, _impl_._cached_size_),
          true,
      },
      "browser_actuator.ActuatorDownstreamMessage",
  };
}
struct ActuatorDownstreamMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ActuatorDownstreamMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ActuatorDownstreamMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ActuatorDownstreamMessage::InternalGenerateClassData_(
            _default, &ActuatorDownstreamMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ActuatorDownstreamMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ActuatorDownstreamMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ActuatorDownstreamMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ActuatorDownstreamMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ActuatorDownstreamMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ActuatorDownstreamMessageGlobalsTypeInternal ActuatorDownstreamMessage_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ActuatorDownstreamMessage_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ActuatorDownstreamMessage_globals_.GetClassData();
#else
  return ActuatorDownstreamMessage_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class WatchSessionsResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<WatchSessionsResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(WatchSessionsResponse, _impl_._has_bits_);
};

constexpr WatchSessionsResponse::ParseTableT_ WatchSessionsResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WatchSessionsResponse, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::WatchSessionsResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .browser_actuator.ActuatorDownstreamMessage actuator_downstream_message = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WatchSessionsResponse, _impl_.actuator_downstream_message_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .browser_actuator.ActuatorDownstreamMessage actuator_downstream_message = 1;
      {PROTOBUF_FIELD_OFFSET(WatchSessionsResponse, _impl_.actuator_downstream_message_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ActuatorDownstreamMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ActuatorDownstreamMessage_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr WatchSessionsResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        actuator_downstream_message_{nullptr} {}

template <typename>
constexpr WatchSessionsResponse::WatchSessionsResponse(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL WatchSessionsResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WatchSessionsResponse(arena);
}
constexpr auto WatchSessionsResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(WatchSessionsResponse), alignof(WatchSessionsResponse));
}
constexpr auto WatchSessionsResponse::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &WatchSessionsResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WatchSessionsResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WatchSessionsResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WatchSessionsResponse>(), &WatchSessionsResponse::ByteSizeLong,
              &WatchSessionsResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WatchSessionsResponse, _impl_._cached_size_),
          true,
      },
      "browser_actuator.WatchSessionsResponse",
  };
}
struct WatchSessionsResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WatchSessionsResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WatchSessionsResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WatchSessionsResponse::InternalGenerateClassData_(
            _default, &WatchSessionsResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WatchSessionsResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WatchSessionsResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WatchSessionsResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WatchSessionsResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WatchSessionsResponseGlobalsTypeInternal WatchSessionsResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WatchSessionsResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WatchSessionsResponse_globals_.GetClassData();
#else
  return WatchSessionsResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SendSessionMessageRequest::_Internal {
 public:
  using HasBits = decltype(::std::declval<SendSessionMessageRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_._has_bits_);
};

constexpr SendSessionMessageRequest::ParseTableT_ SendSessionMessageRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::browser_actuator::SendSessionMessageRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .browser_actuator.ActuatorUpstreamMessage actuator_upstream_message = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_.actuator_upstream_message_)}},
      // string request_id = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_.request_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string request_id = 1;
      {PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_.request_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .browser_actuator.ActuatorUpstreamMessage actuator_upstream_message = 2;
      {PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_.actuator_upstream_message_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::browser_actuator::ActuatorUpstreamMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::browser_actuator::ActuatorUpstreamMessage_globals_},
        #endif
    }},
    {{
      "\52\12\0\0\0\0\0\0"
      "browser_actuator.SendSessionMessageRequest"
      "request_id"
    }},
  };
}


inline constexpr SendSessionMessageRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        actuator_upstream_message_{nullptr} {}

template <typename>
constexpr SendSessionMessageRequest::SendSessionMessageRequest(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SendSessionMessageRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SendSessionMessageRequest(arena);
}
constexpr auto SendSessionMessageRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SendSessionMessageRequest), alignof(SendSessionMessageRequest));
}
constexpr auto SendSessionMessageRequest::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SendSessionMessageRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SendSessionMessageRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SendSessionMessageRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SendSessionMessageRequest>(), &SendSessionMessageRequest::ByteSizeLong,
              &SendSessionMessageRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SendSessionMessageRequest, _impl_._cached_size_),
          true,
      },
      "browser_actuator.SendSessionMessageRequest",
  };
}
struct SendSessionMessageRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SendSessionMessageRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SendSessionMessageRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SendSessionMessageRequest::InternalGenerateClassData_(
            _default, &SendSessionMessageRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SendSessionMessageRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SendSessionMessageRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SendSessionMessageRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SendSessionMessageRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SendSessionMessageRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SendSessionMessageRequestGlobalsTypeInternal SendSessionMessageRequest_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SendSessionMessageRequest_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SendSessionMessageRequest_globals_.GetClassData();
#else
  return SendSessionMessageRequest_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace browser_actuator
namespace browser_actuator {
PROTOBUF_CONSTINIT const uint32_t ActuatorUpstreamPayloadType_internal_data_[] = {
    196608u, 0u, };
static const char ActuatorUpstreamPayloadType_names[] = {
    "ACTUATOR_UPSTREAM_PAYLOAD_TYPE_CONTROL_COMMAND"
    "ACTUATOR_UPSTREAM_PAYLOAD_TYPE_EXPERIMENTAL_TRIGGERING"
    "ACTUATOR_UPSTREAM_PAYLOAD_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ActuatorUpstreamPayloadType_entries[] = {
    {{&ActuatorUpstreamPayloadType_names[0], 46}, 1},
    {{&ActuatorUpstreamPayloadType_names[46], 54}, 2},
    {{&ActuatorUpstreamPayloadType_names[100], 42}, 0},
};

static const int ActuatorUpstreamPayloadType_entries_by_number[] = {
    2,  // 0 -> ACTUATOR_UPSTREAM_PAYLOAD_TYPE_UNSPECIFIED
    0,  // 1 -> ACTUATOR_UPSTREAM_PAYLOAD_TYPE_CONTROL_COMMAND
    1,  // 2 -> ACTUATOR_UPSTREAM_PAYLOAD_TYPE_EXPERIMENTAL_TRIGGERING
};

bool ActuatorUpstreamPayloadType_Parse(::absl::string_view name,
                                  ActuatorUpstreamPayloadType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ActuatorUpstreamPayloadType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<ActuatorUpstreamPayloadType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ActuatorUpstreamPayloadType_strings[3] = {};

const ::std::string& ActuatorUpstreamPayloadType_Name(ActuatorUpstreamPayloadType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ActuatorUpstreamPayloadType_entries, ActuatorUpstreamPayloadType_entries_by_number, 3,
      ActuatorUpstreamPayloadType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ActuatorUpstreamPayloadType_entries,
                                  ActuatorUpstreamPayloadType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ActuatorUpstreamPayloadType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ActuatorDownstreamPayloadType_internal_data_[] = {
    196608u, 0u, };
static const char ActuatorDownstreamPayloadType_names[] = {
    "ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_CONTROL_COMMAND"
    "ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_EXPERIMENTAL_TRIGGERING"
    "ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ActuatorDownstreamPayloadType_entries[] = {
    {{&ActuatorDownstreamPayloadType_names[0], 48}, 1},
    {{&ActuatorDownstreamPayloadType_names[48], 56}, 2},
    {{&ActuatorDownstreamPayloadType_names[104], 44}, 0},
};

static const int ActuatorDownstreamPayloadType_entries_by_number[] = {
    2,  // 0 -> ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_UNSPECIFIED
    0,  // 1 -> ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_CONTROL_COMMAND
    1,  // 2 -> ACTUATOR_DOWNSTREAM_PAYLOAD_TYPE_EXPERIMENTAL_TRIGGERING
};

bool ActuatorDownstreamPayloadType_Parse(::absl::string_view name,
                                  ActuatorDownstreamPayloadType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ActuatorDownstreamPayloadType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<ActuatorDownstreamPayloadType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ActuatorDownstreamPayloadType_strings[3] = {};

const ::std::string& ActuatorDownstreamPayloadType_Name(ActuatorDownstreamPayloadType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ActuatorDownstreamPayloadType_entries, ActuatorDownstreamPayloadType_entries_by_number, 3,
      ActuatorDownstreamPayloadType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ActuatorDownstreamPayloadType_entries,
                                  ActuatorDownstreamPayloadType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ActuatorDownstreamPayloadType_strings[idx].get();
}
// ===================================================================

ControlCommand_CloseChannel::ControlCommand_CloseChannel(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_CloseChannel_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ControlCommand.CloseChannel)
}
ControlCommand_CloseChannel::ControlCommand_CloseChannel(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ControlCommand_CloseChannel& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_CloseChannel_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ControlCommand_CloseChannel::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ControlCommand_CloseChannel::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ControlCommand_CloseChannel::~ControlCommand_CloseChannel() {
  // @@protoc_insertion_point(destructor:browser_actuator.ControlCommand.CloseChannel)
  SharedDtor(*this);
}
inline void ControlCommand_CloseChannel::SharedDtor(MessageLite& self) {
  ControlCommand_CloseChannel& this_ = static_cast<ControlCommand_CloseChannel&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ControlCommand_CloseChannel_class_data_ =
    ControlCommand_CloseChannel::InternalGenerateClassData_(ControlCommand_CloseChannel_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand_CloseChannel::GetClassData() const {
  return ControlCommand_CloseChannel_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand_CloseChannel::GetClassData() const {
  return ControlCommand_CloseChannel_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ControlCommand_CloseChannel::ParseTableT_
    ControlCommand_CloseChannel::_table_ =
        ControlCommand_CloseChannel::InternalGenerateParseTable_(ControlCommand_CloseChannel_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ControlCommand_CloseChannel::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ControlCommand.CloseChannel)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ControlCommand_CloseChannel::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ControlCommand_CloseChannel& this_ = static_cast<const ControlCommand_CloseChannel&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ControlCommand_CloseChannel::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ControlCommand_CloseChannel& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ControlCommand.CloseChannel)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ControlCommand.CloseChannel)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ControlCommand_CloseChannel::ByteSizeLong(const MessageLite& base) {
  const ControlCommand_CloseChannel& this_ = static_cast<const ControlCommand_CloseChannel&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ControlCommand_CloseChannel::ByteSizeLong() const {
  const ControlCommand_CloseChannel& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ControlCommand.CloseChannel)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ControlCommand_CloseChannel::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ControlCommand_CloseChannel*>(&to_msg);
  auto& from = static_cast<const ControlCommand_CloseChannel&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ControlCommand.CloseChannel)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ControlCommand_CloseChannel::CopyFrom(const ControlCommand_CloseChannel& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ControlCommand.CloseChannel)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ControlCommand_CloseChannel::InternalSwap(ControlCommand_CloseChannel* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

ControlCommand_CloseSession::ControlCommand_CloseSession(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_CloseSession_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ControlCommand.CloseSession)
}
ControlCommand_CloseSession::ControlCommand_CloseSession(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ControlCommand_CloseSession& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_CloseSession_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ControlCommand_CloseSession::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ControlCommand_CloseSession::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ControlCommand_CloseSession::~ControlCommand_CloseSession() {
  // @@protoc_insertion_point(destructor:browser_actuator.ControlCommand.CloseSession)
  SharedDtor(*this);
}
inline void ControlCommand_CloseSession::SharedDtor(MessageLite& self) {
  ControlCommand_CloseSession& this_ = static_cast<ControlCommand_CloseSession&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ControlCommand_CloseSession_class_data_ =
    ControlCommand_CloseSession::InternalGenerateClassData_(ControlCommand_CloseSession_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand_CloseSession::GetClassData() const {
  return ControlCommand_CloseSession_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand_CloseSession::GetClassData() const {
  return ControlCommand_CloseSession_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ControlCommand_CloseSession::ParseTableT_
    ControlCommand_CloseSession::_table_ =
        ControlCommand_CloseSession::InternalGenerateParseTable_(ControlCommand_CloseSession_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ControlCommand_CloseSession::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ControlCommand.CloseSession)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ControlCommand_CloseSession::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ControlCommand_CloseSession& this_ = static_cast<const ControlCommand_CloseSession&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ControlCommand_CloseSession::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ControlCommand_CloseSession& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ControlCommand.CloseSession)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ControlCommand.CloseSession)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ControlCommand_CloseSession::ByteSizeLong(const MessageLite& base) {
  const ControlCommand_CloseSession& this_ = static_cast<const ControlCommand_CloseSession&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ControlCommand_CloseSession::ByteSizeLong() const {
  const ControlCommand_CloseSession& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ControlCommand.CloseSession)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ControlCommand_CloseSession::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ControlCommand_CloseSession*>(&to_msg);
  auto& from = static_cast<const ControlCommand_CloseSession&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ControlCommand.CloseSession)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ControlCommand_CloseSession::CopyFrom(const ControlCommand_CloseSession& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ControlCommand.CloseSession)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ControlCommand_CloseSession::InternalSwap(ControlCommand_CloseSession* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

void ControlCommand::set_allocated_close_channel(::browser_actuator::ControlCommand_CloseChannel* PROTOBUF_NULLABLE close_channel) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_command();
  if (close_channel) {
    ::google::protobuf::Arena* submessage_arena = close_channel->GetArena();
    if (message_arena != submessage_arena) {
      close_channel = ::google::protobuf::internal::GetOwnedMessage(message_arena, close_channel, submessage_arena);
    }
    set_has_close_channel();
    _impl_.command_.close_channel_ = close_channel;
  }
  // @@protoc_insertion_point(field_set_allocated:browser_actuator.ControlCommand.close_channel)
}
void ControlCommand::set_allocated_close_session(::browser_actuator::ControlCommand_CloseSession* PROTOBUF_NULLABLE close_session) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_command();
  if (close_session) {
    ::google::protobuf::Arena* submessage_arena = close_session->GetArena();
    if (message_arena != submessage_arena) {
      close_session = ::google::protobuf::internal::GetOwnedMessage(message_arena, close_session, submessage_arena);
    }
    set_has_close_session();
    _impl_.command_.close_session_ = close_session;
  }
  // @@protoc_insertion_point(field_set_allocated:browser_actuator.ControlCommand.close_session)
}
ControlCommand::ControlCommand(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ControlCommand)
}
PROTOBUF_NDEBUG_INLINE ControlCommand::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ControlCommand& from_msg)
      : command_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

ControlCommand::ControlCommand(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ControlCommand& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ControlCommand_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ControlCommand* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (command_case()) {
    case COMMAND_NOT_SET:
      break;
      case kCloseChannel:
        _impl_.command_.close_channel_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.command_.close_channel_);
        break;
      case kCloseSession:
        _impl_.command_.close_session_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.command_.close_session_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ControlCommand)
}
PROTOBUF_NDEBUG_INLINE ControlCommand::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : command_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void ControlCommand::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ControlCommand::~ControlCommand() {
  // @@protoc_insertion_point(destructor:browser_actuator.ControlCommand)
  SharedDtor(*this);
}
inline void ControlCommand::SharedDtor(MessageLite& self) {
  ControlCommand& this_ = static_cast<ControlCommand&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_command()) {
    this_.clear_command();
  }
  this_._impl_.~Impl_();
}

void ControlCommand::clear_command() {
// @@protoc_insertion_point(one_of_clear_start:browser_actuator.ControlCommand)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (command_case()) {
    case kCloseChannel: {
      if (GetArena() == nullptr) {
        delete _impl_.command_.close_channel_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.command_.close_channel_ != nullptr) {
          _impl_.command_.close_channel_->Clear();
        }
      }
      break;
    }
    case kCloseSession: {
      if (GetArena() == nullptr) {
        delete _impl_.command_.close_session_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.command_.close_session_ != nullptr) {
          _impl_.command_.close_session_->Clear();
        }
      }
      break;
    }
    case COMMAND_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = COMMAND_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ControlCommand_class_data_ =
    ControlCommand::InternalGenerateClassData_(ControlCommand_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand::GetClassData() const {
  return ControlCommand_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ControlCommand::GetClassData() const {
  return ControlCommand_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ControlCommand::ParseTableT_
    ControlCommand::_table_ =
        ControlCommand::InternalGenerateParseTable_(ControlCommand_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ControlCommand::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ControlCommand)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_command();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ControlCommand::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ControlCommand& this_ = static_cast<const ControlCommand&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ControlCommand::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ControlCommand& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ControlCommand)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (this_.command_case()) {
    case kCloseChannel: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.command_.close_channel_, this_._impl_.command_.close_channel_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCloseSession: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.command_.close_session_, this_._impl_.command_.close_session_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ControlCommand)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ControlCommand::ByteSizeLong(const MessageLite& base) {
  const ControlCommand& this_ = static_cast<const ControlCommand&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ControlCommand::ByteSizeLong() const {
  const ControlCommand& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ControlCommand)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  switch (this_.command_case()) {
    // .browser_actuator.ControlCommand.CloseChannel close_channel = 1;
    case kCloseChannel: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.command_.close_channel_);
      break;
    }
    // .browser_actuator.ControlCommand.CloseSession close_session = 2;
    case kCloseSession: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.command_.close_session_);
      break;
    }
    case COMMAND_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ControlCommand::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ControlCommand*>(&to_msg);
  auto& from = static_cast<const ControlCommand&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ControlCommand)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_command();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kCloseChannel: {
        if (oneof_needs_init) {
          _this->_impl_.command_.close_channel_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.command_.close_channel_);
        } else {
          _this->_impl_.command_.close_channel_->MergeFrom(*from._impl_.command_.close_channel_);
        }
        break;
      }
      case kCloseSession: {
        if (oneof_needs_init) {
          _this->_impl_.command_.close_session_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.command_.close_session_);
        } else {
          _this->_impl_.command_.close_session_->MergeFrom(*from._impl_.command_.close_session_);
        }
        break;
      }
      case COMMAND_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ControlCommand::CopyFrom(const ControlCommand& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ControlCommand)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ControlCommand::InternalSwap(ControlCommand* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.command_, other->_impl_.command_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

void ActuatorUpstreamTypedPayload::clear_proto_payload() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.proto_payload_ != nullptr) _impl_.proto_payload_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
ActuatorUpstreamTypedPayload::ActuatorUpstreamTypedPayload(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamTypedPayload_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ActuatorUpstreamTypedPayload)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ActuatorUpstreamTypedPayload& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ActuatorUpstreamTypedPayload::ActuatorUpstreamTypedPayload(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ActuatorUpstreamTypedPayload& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamTypedPayload_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActuatorUpstreamTypedPayload* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.proto_payload_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.proto_payload_)
                : nullptr;
  _impl_.payload_type_ = from._impl_.payload_type_;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ActuatorUpstreamTypedPayload)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActuatorUpstreamTypedPayload::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, proto_payload_),
           0,
           offsetof(Impl_, payload_type_) -
               offsetof(Impl_, proto_payload_) +
               sizeof(Impl_::payload_type_));
}
ActuatorUpstreamTypedPayload::~ActuatorUpstreamTypedPayload() {
  // @@protoc_insertion_point(destructor:browser_actuator.ActuatorUpstreamTypedPayload)
  SharedDtor(*this);
}
inline void ActuatorUpstreamTypedPayload::SharedDtor(MessageLite& self) {
  ActuatorUpstreamTypedPayload& this_ = static_cast<ActuatorUpstreamTypedPayload&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.proto_payload_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActuatorUpstreamTypedPayload_class_data_ =
    ActuatorUpstreamTypedPayload::InternalGenerateClassData_(ActuatorUpstreamTypedPayload_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamTypedPayload::GetClassData() const {
  return ActuatorUpstreamTypedPayload_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamTypedPayload::GetClassData() const {
  return ActuatorUpstreamTypedPayload_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActuatorUpstreamTypedPayload::ParseTableT_
    ActuatorUpstreamTypedPayload::_table_ =
        ActuatorUpstreamTypedPayload::InternalGenerateParseTable_(ActuatorUpstreamTypedPayload_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActuatorUpstreamTypedPayload::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ActuatorUpstreamTypedPayload)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.proto_payload_ != nullptr);
    _impl_.proto_payload_->Clear();
  }
  _impl_.payload_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamTypedPayload::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ActuatorUpstreamTypedPayload& this_ = static_cast<const ActuatorUpstreamTypedPayload&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamTypedPayload::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ActuatorUpstreamTypedPayload& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ActuatorUpstreamTypedPayload)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .google.protobuf.Any proto_payload = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.proto_payload_, this_._impl_.proto_payload_->GetCachedSize(), target,
        stream);
  }

  // .browser_actuator.ActuatorUpstreamPayloadType payload_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_payload_type() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_payload_type(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ActuatorUpstreamTypedPayload)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActuatorUpstreamTypedPayload::ByteSizeLong(const MessageLite& base) {
  const ActuatorUpstreamTypedPayload& this_ = static_cast<const ActuatorUpstreamTypedPayload&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActuatorUpstreamTypedPayload::ByteSizeLong() const {
  const ActuatorUpstreamTypedPayload& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ActuatorUpstreamTypedPayload)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // .google.protobuf.Any proto_payload = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.proto_payload_);
    }
    // .browser_actuator.ActuatorUpstreamPayloadType payload_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_payload_type() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_payload_type());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ActuatorUpstreamTypedPayload::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActuatorUpstreamTypedPayload*>(&to_msg);
  auto& from = static_cast<const ActuatorUpstreamTypedPayload&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ActuatorUpstreamTypedPayload)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.proto_payload_ != nullptr);
      if (_this->_impl_.proto_payload_ == nullptr) {
        _this->_impl_.proto_payload_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.proto_payload_);
      } else {
        _this->_impl_.proto_payload_->MergeFrom(*from._impl_.proto_payload_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_payload_type() != 0) {
        _this->_impl_.payload_type_ = from._impl_.payload_type_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ActuatorUpstreamTypedPayload::CopyFrom(const ActuatorUpstreamTypedPayload& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ActuatorUpstreamTypedPayload)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ActuatorUpstreamTypedPayload::InternalSwap(ActuatorUpstreamTypedPayload* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.payload_type_)
      + sizeof(ActuatorUpstreamTypedPayload::_impl_.payload_type_)
      - PROTOBUF_FIELD_OFFSET(ActuatorUpstreamTypedPayload, _impl_.proto_payload_)>(
          reinterpret_cast<char*>(&_impl_.proto_payload_),
          reinterpret_cast<char*>(&other->_impl_.proto_payload_));
}

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

ActuatorUpstreamMessage_BrowserActuatorCapabilities::ActuatorUpstreamMessage_BrowserActuatorCapabilities(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamMessage_BrowserActuatorCapabilities_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamMessage_BrowserActuatorCapabilities::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        supported_features_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities,
              PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.supported_features_)>()
          , from.supported_features_
        }
     {}

ActuatorUpstreamMessage_BrowserActuatorCapabilities::ActuatorUpstreamMessage_BrowserActuatorCapabilities(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ActuatorUpstreamMessage_BrowserActuatorCapabilities& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamMessage_BrowserActuatorCapabilities_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActuatorUpstreamMessage_BrowserActuatorCapabilities* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.chrome_major_version_number_ = from._impl_.chrome_major_version_number_;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamMessage_BrowserActuatorCapabilities::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        supported_features_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage_BrowserActuatorCapabilities, _impl_.supported_features_)>()
         }
     {}

inline void ActuatorUpstreamMessage_BrowserActuatorCapabilities::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.chrome_major_version_number_ = {};
}
ActuatorUpstreamMessage_BrowserActuatorCapabilities::~ActuatorUpstreamMessage_BrowserActuatorCapabilities() {
  // @@protoc_insertion_point(destructor:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  SharedDtor(*this);
}
inline void ActuatorUpstreamMessage_BrowserActuatorCapabilities::SharedDtor(MessageLite& self) {
  ActuatorUpstreamMessage_BrowserActuatorCapabilities& this_ = static_cast<ActuatorUpstreamMessage_BrowserActuatorCapabilities&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActuatorUpstreamMessage_BrowserActuatorCapabilities_class_data_ =
    ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalGenerateClassData_(ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamMessage_BrowserActuatorCapabilities::GetClassData() const {
  return ActuatorUpstreamMessage_BrowserActuatorCapabilities_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamMessage_BrowserActuatorCapabilities::GetClassData() const {
  return ActuatorUpstreamMessage_BrowserActuatorCapabilities_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActuatorUpstreamMessage_BrowserActuatorCapabilities::ParseTableT_
    ActuatorUpstreamMessage_BrowserActuatorCapabilities::_table_ =
        ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalGenerateParseTable_(ActuatorUpstreamMessage_BrowserActuatorCapabilities_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActuatorUpstreamMessage_BrowserActuatorCapabilities::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.supported_features_.Clear();
  }
  _impl_.chrome_major_version_number_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamMessage_BrowserActuatorCapabilities::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ActuatorUpstreamMessage_BrowserActuatorCapabilities& this_ = static_cast<const ActuatorUpstreamMessage_BrowserActuatorCapabilities&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamMessage_BrowserActuatorCapabilities::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ActuatorUpstreamMessage_BrowserActuatorCapabilities& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 chrome_major_version_number = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_chrome_major_version_number() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
              stream, this_._internal_chrome_major_version_number(), target);
    }
  }

  // repeated string supported_features = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_supported_features_size(); i < n; ++i) {
      const auto& s = this_._internal_supported_features().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities.supported_features");
      target = stream->WriteString(2, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActuatorUpstreamMessage_BrowserActuatorCapabilities::ByteSizeLong(const MessageLite& base) {
  const ActuatorUpstreamMessage_BrowserActuatorCapabilities& this_ = static_cast<const ActuatorUpstreamMessage_BrowserActuatorCapabilities&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActuatorUpstreamMessage_BrowserActuatorCapabilities::ByteSizeLong() const {
  const ActuatorUpstreamMessage_BrowserActuatorCapabilities& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated string supported_features = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_supported_features().size());
      for (int i = 0, n = this_._internal_supported_features().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_supported_features().Get(i));
      }
    }
    // int64 chrome_major_version_number = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_chrome_major_version_number() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_chrome_major_version_number());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ActuatorUpstreamMessage_BrowserActuatorCapabilities::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActuatorUpstreamMessage_BrowserActuatorCapabilities*>(&to_msg);
  auto& from = static_cast<const ActuatorUpstreamMessage_BrowserActuatorCapabilities&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_supported_features()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_supported_features());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_chrome_major_version_number() != 0) {
        _this->_impl_.chrome_major_version_number_ = from._impl_.chrome_major_version_number_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ActuatorUpstreamMessage_BrowserActuatorCapabilities::CopyFrom(const ActuatorUpstreamMessage_BrowserActuatorCapabilities& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ActuatorUpstreamMessage_BrowserActuatorCapabilities::InternalSwap(ActuatorUpstreamMessage_BrowserActuatorCapabilities* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.supported_features_.InternalSwap(&other->_impl_.supported_features_);
  swap(_impl_.chrome_major_version_number_, other->_impl_.chrome_major_version_number_);
}

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

ActuatorUpstreamMessage::ActuatorUpstreamMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ActuatorUpstreamMessage)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ActuatorUpstreamMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        typed_payloads_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::browser_actuator::ActuatorUpstreamMessage,
              PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage, _impl_.typed_payloads_)>()
          , from.typed_payloads_
        }
        ,
        session_id_(arena, from.session_id_) {}

ActuatorUpstreamMessage::ActuatorUpstreamMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ActuatorUpstreamMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorUpstreamMessage_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActuatorUpstreamMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.capabilities_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.capabilities_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, client_sequence_number_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, client_sequence_number_),
           offsetof(Impl_, responding_to_sequence_number_) -
               offsetof(Impl_, client_sequence_number_) +
               sizeof(Impl_::responding_to_sequence_number_));

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ActuatorUpstreamMessage)
}
PROTOBUF_NDEBUG_INLINE ActuatorUpstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        typed_payloads_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorUpstreamMessage,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorUpstreamMessage, _impl_.typed_payloads_)>()
         }
        ,
        session_id_(arena) {}

inline void ActuatorUpstreamMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, capabilities_),
           0,
           offsetof(Impl_, responding_to_sequence_number_) -
               offsetof(Impl_, capabilities_) +
               sizeof(Impl_::responding_to_sequence_number_));
}
ActuatorUpstreamMessage::~ActuatorUpstreamMessage() {
  // @@protoc_insertion_point(destructor:browser_actuator.ActuatorUpstreamMessage)
  SharedDtor(*this);
}
inline void ActuatorUpstreamMessage::SharedDtor(MessageLite& self) {
  ActuatorUpstreamMessage& this_ = static_cast<ActuatorUpstreamMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.session_id_.Destroy();
  delete this_._impl_.capabilities_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActuatorUpstreamMessage_class_data_ =
    ActuatorUpstreamMessage::InternalGenerateClassData_(ActuatorUpstreamMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamMessage::GetClassData() const {
  return ActuatorUpstreamMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorUpstreamMessage::GetClassData() const {
  return ActuatorUpstreamMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActuatorUpstreamMessage::ParseTableT_
    ActuatorUpstreamMessage::_table_ =
        ActuatorUpstreamMessage::InternalGenerateParseTable_(ActuatorUpstreamMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActuatorUpstreamMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ActuatorUpstreamMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.typed_payloads_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.session_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.capabilities_ != nullptr);
      _impl_.capabilities_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.client_sequence_number_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.responding_to_sequence_number_) -
        reinterpret_cast<char*>(&_impl_.client_sequence_number_)) + sizeof(_impl_.responding_to_sequence_number_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamMessage::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ActuatorUpstreamMessage& this_ = static_cast<const ActuatorUpstreamMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ActuatorUpstreamMessage::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ActuatorUpstreamMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ActuatorUpstreamMessage)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string session_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_session_id().empty()) {
      const ::std::string& _s = this_._internal_session_id();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.ActuatorUpstreamMessage.session_id");
      target = stream->WriteStringMaybeAliased(1, _s, target);
    }
  }

  // int64 client_sequence_number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (this_._internal_client_sequence_number() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
              stream, this_._internal_client_sequence_number(), target);
    }
  }

  // optional int64 responding_to_sequence_number = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_responding_to_sequence_number(), target);
  }

  // .browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities capabilities = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.capabilities_, this_._impl_.capabilities_->GetCachedSize(), target,
        stream);
  }

  // repeated .browser_actuator.ActuatorUpstreamTypedPayload typed_payloads = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_typed_payloads_size());
         i < n; i++) {
      const auto& repfield = this_._internal_typed_payloads().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ActuatorUpstreamMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActuatorUpstreamMessage::ByteSizeLong(const MessageLite& base) {
  const ActuatorUpstreamMessage& this_ = static_cast<const ActuatorUpstreamMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActuatorUpstreamMessage::ByteSizeLong() const {
  const ActuatorUpstreamMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ActuatorUpstreamMessage)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .browser_actuator.ActuatorUpstreamTypedPayload typed_payloads = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_typed_payloads_size();
      for (const auto& msg : this_._internal_typed_payloads()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string session_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_session_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_session_id());
      }
    }
    // .browser_actuator.ActuatorUpstreamMessage.BrowserActuatorCapabilities capabilities = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.capabilities_);
    }
    // int64 client_sequence_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (this_._internal_client_sequence_number() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_client_sequence_number());
      }
    }
    // optional int64 responding_to_sequence_number = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_responding_to_sequence_number());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ActuatorUpstreamMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActuatorUpstreamMessage*>(&to_msg);
  auto& from = static_cast<const ActuatorUpstreamMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ActuatorUpstreamMessage)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_typed_payloads()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_typed_payloads());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_session_id().empty()) {
        _this->_internal_set_session_id(from._internal_session_id());
      } else {
        if (_this->_impl_.session_id_.IsDefault()) {
          _this->_internal_set_session_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.capabilities_ != nullptr);
      if (_this->_impl_.capabilities_ == nullptr) {
        _this->_impl_.capabilities_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.capabilities_);
      } else {
        _this->_impl_.capabilities_->MergeFrom(*from._impl_.capabilities_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (from._internal_client_sequence_number() != 0) {
        _this->_impl_.client_sequence_number_ = from._impl_.client_sequence_number_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.responding_to_sequence_number_ = from._impl_.responding_to_sequence_number_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ActuatorUpstreamMessage::CopyFrom(const ActuatorUpstreamMessage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ActuatorUpstreamMessage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ActuatorUpstreamMessage::InternalSwap(ActuatorUpstreamMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.typed_payloads_.InternalSwap(&other->_impl_.typed_payloads_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.session_id_, &other->_impl_.session_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.responding_to_sequence_number_)
      + sizeof(ActuatorUpstreamMessage::_impl_.responding_to_sequence_number_)
      - PROTOBUF_FIELD_OFFSET(ActuatorUpstreamMessage, _impl_.capabilities_)>(
          reinterpret_cast<char*>(&_impl_.capabilities_),
          reinterpret_cast<char*>(&other->_impl_.capabilities_));
}

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

void ActuatorDownstreamTypedPayload::clear_proto_payload() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.proto_payload_ != nullptr) _impl_.proto_payload_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
ActuatorDownstreamTypedPayload::ActuatorDownstreamTypedPayload(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorDownstreamTypedPayload_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ActuatorDownstreamTypedPayload)
}
PROTOBUF_NDEBUG_INLINE ActuatorDownstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ActuatorDownstreamTypedPayload& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ActuatorDownstreamTypedPayload::ActuatorDownstreamTypedPayload(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ActuatorDownstreamTypedPayload& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorDownstreamTypedPayload_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActuatorDownstreamTypedPayload* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.proto_payload_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.proto_payload_)
                : nullptr;
  _impl_.payload_type_ = from._impl_.payload_type_;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ActuatorDownstreamTypedPayload)
}
PROTOBUF_NDEBUG_INLINE ActuatorDownstreamTypedPayload::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ActuatorDownstreamTypedPayload::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, proto_payload_),
           0,
           offsetof(Impl_, payload_type_) -
               offsetof(Impl_, proto_payload_) +
               sizeof(Impl_::payload_type_));
}
ActuatorDownstreamTypedPayload::~ActuatorDownstreamTypedPayload() {
  // @@protoc_insertion_point(destructor:browser_actuator.ActuatorDownstreamTypedPayload)
  SharedDtor(*this);
}
inline void ActuatorDownstreamTypedPayload::SharedDtor(MessageLite& self) {
  ActuatorDownstreamTypedPayload& this_ = static_cast<ActuatorDownstreamTypedPayload&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.proto_payload_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActuatorDownstreamTypedPayload_class_data_ =
    ActuatorDownstreamTypedPayload::InternalGenerateClassData_(ActuatorDownstreamTypedPayload_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorDownstreamTypedPayload::GetClassData() const {
  return ActuatorDownstreamTypedPayload_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorDownstreamTypedPayload::GetClassData() const {
  return ActuatorDownstreamTypedPayload_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActuatorDownstreamTypedPayload::ParseTableT_
    ActuatorDownstreamTypedPayload::_table_ =
        ActuatorDownstreamTypedPayload::InternalGenerateParseTable_(ActuatorDownstreamTypedPayload_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActuatorDownstreamTypedPayload::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ActuatorDownstreamTypedPayload)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.proto_payload_ != nullptr);
    _impl_.proto_payload_->Clear();
  }
  _impl_.payload_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ActuatorDownstreamTypedPayload::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ActuatorDownstreamTypedPayload& this_ = static_cast<const ActuatorDownstreamTypedPayload&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ActuatorDownstreamTypedPayload::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ActuatorDownstreamTypedPayload& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ActuatorDownstreamTypedPayload)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .google.protobuf.Any proto_payload = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.proto_payload_, this_._impl_.proto_payload_->GetCachedSize(), target,
        stream);
  }

  // .browser_actuator.ActuatorDownstreamPayloadType payload_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_payload_type() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_payload_type(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ActuatorDownstreamTypedPayload)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActuatorDownstreamTypedPayload::ByteSizeLong(const MessageLite& base) {
  const ActuatorDownstreamTypedPayload& this_ = static_cast<const ActuatorDownstreamTypedPayload&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActuatorDownstreamTypedPayload::ByteSizeLong() const {
  const ActuatorDownstreamTypedPayload& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ActuatorDownstreamTypedPayload)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // .google.protobuf.Any proto_payload = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.proto_payload_);
    }
    // .browser_actuator.ActuatorDownstreamPayloadType payload_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_payload_type() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_payload_type());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ActuatorDownstreamTypedPayload::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActuatorDownstreamTypedPayload*>(&to_msg);
  auto& from = static_cast<const ActuatorDownstreamTypedPayload&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ActuatorDownstreamTypedPayload)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.proto_payload_ != nullptr);
      if (_this->_impl_.proto_payload_ == nullptr) {
        _this->_impl_.proto_payload_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.proto_payload_);
      } else {
        _this->_impl_.proto_payload_->MergeFrom(*from._impl_.proto_payload_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_payload_type() != 0) {
        _this->_impl_.payload_type_ = from._impl_.payload_type_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ActuatorDownstreamTypedPayload::CopyFrom(const ActuatorDownstreamTypedPayload& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ActuatorDownstreamTypedPayload)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ActuatorDownstreamTypedPayload::InternalSwap(ActuatorDownstreamTypedPayload* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.payload_type_)
      + sizeof(ActuatorDownstreamTypedPayload::_impl_.payload_type_)
      - PROTOBUF_FIELD_OFFSET(ActuatorDownstreamTypedPayload, _impl_.proto_payload_)>(
          reinterpret_cast<char*>(&_impl_.proto_payload_),
          reinterpret_cast<char*>(&other->_impl_.proto_payload_));
}

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

ActuatorDownstreamMessage::ActuatorDownstreamMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorDownstreamMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.ActuatorDownstreamMessage)
}
PROTOBUF_NDEBUG_INLINE ActuatorDownstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::ActuatorDownstreamMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        typed_payloads_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::browser_actuator::ActuatorDownstreamMessage,
              PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorDownstreamMessage, _impl_.typed_payloads_)>()
          , from.typed_payloads_
        }
        ,
        session_id_(arena, from.session_id_) {}

ActuatorDownstreamMessage::ActuatorDownstreamMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ActuatorDownstreamMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ActuatorDownstreamMessage_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ActuatorDownstreamMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.sequence_number_ = from._impl_.sequence_number_;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.ActuatorDownstreamMessage)
}
PROTOBUF_NDEBUG_INLINE ActuatorDownstreamMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        typed_payloads_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::ActuatorDownstreamMessage,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::ActuatorDownstreamMessage, _impl_.typed_payloads_)>()
         }
        ,
        session_id_(arena) {}

inline void ActuatorDownstreamMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.sequence_number_ = {};
}
ActuatorDownstreamMessage::~ActuatorDownstreamMessage() {
  // @@protoc_insertion_point(destructor:browser_actuator.ActuatorDownstreamMessage)
  SharedDtor(*this);
}
inline void ActuatorDownstreamMessage::SharedDtor(MessageLite& self) {
  ActuatorDownstreamMessage& this_ = static_cast<ActuatorDownstreamMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.session_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ActuatorDownstreamMessage_class_data_ =
    ActuatorDownstreamMessage::InternalGenerateClassData_(ActuatorDownstreamMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorDownstreamMessage::GetClassData() const {
  return ActuatorDownstreamMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ActuatorDownstreamMessage::GetClassData() const {
  return ActuatorDownstreamMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ActuatorDownstreamMessage::ParseTableT_
    ActuatorDownstreamMessage::_table_ =
        ActuatorDownstreamMessage::InternalGenerateParseTable_(ActuatorDownstreamMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ActuatorDownstreamMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.ActuatorDownstreamMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.typed_payloads_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.session_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.sequence_number_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ActuatorDownstreamMessage::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ActuatorDownstreamMessage& this_ = static_cast<const ActuatorDownstreamMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ActuatorDownstreamMessage::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ActuatorDownstreamMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.ActuatorDownstreamMessage)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string session_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_session_id().empty()) {
      const ::std::string& _s = this_._internal_session_id();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.ActuatorDownstreamMessage.session_id");
      target = stream->WriteStringMaybeAliased(1, _s, target);
    }
  }

  // int64 sequence_number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (this_._internal_sequence_number() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
              stream, this_._internal_sequence_number(), target);
    }
  }

  // repeated .browser_actuator.ActuatorDownstreamTypedPayload typed_payloads = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_typed_payloads_size());
         i < n; i++) {
      const auto& repfield = this_._internal_typed_payloads().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.ActuatorDownstreamMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ActuatorDownstreamMessage::ByteSizeLong(const MessageLite& base) {
  const ActuatorDownstreamMessage& this_ = static_cast<const ActuatorDownstreamMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ActuatorDownstreamMessage::ByteSizeLong() const {
  const ActuatorDownstreamMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.ActuatorDownstreamMessage)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .browser_actuator.ActuatorDownstreamTypedPayload typed_payloads = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_typed_payloads_size();
      for (const auto& msg : this_._internal_typed_payloads()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string session_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_session_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_session_id());
      }
    }
    // int64 sequence_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (this_._internal_sequence_number() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_sequence_number());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ActuatorDownstreamMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ActuatorDownstreamMessage*>(&to_msg);
  auto& from = static_cast<const ActuatorDownstreamMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.ActuatorDownstreamMessage)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_typed_payloads()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_typed_payloads());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_session_id().empty()) {
        _this->_internal_set_session_id(from._internal_session_id());
      } else {
        if (_this->_impl_.session_id_.IsDefault()) {
          _this->_internal_set_session_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (from._internal_sequence_number() != 0) {
        _this->_impl_.sequence_number_ = from._impl_.sequence_number_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void ActuatorDownstreamMessage::CopyFrom(const ActuatorDownstreamMessage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.ActuatorDownstreamMessage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ActuatorDownstreamMessage::InternalSwap(ActuatorDownstreamMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.typed_payloads_.InternalSwap(&other->_impl_.typed_payloads_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.session_id_, &other->_impl_.session_id_, arena);
  swap(_impl_.sequence_number_, other->_impl_.sequence_number_);
}

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

WatchSessionsRequest_Session::WatchSessionsRequest_Session(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsRequest_Session_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.WatchSessionsRequest.Session)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsRequest_Session::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::WatchSessionsRequest_Session& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        session_id_(arena, from.session_id_) {}

WatchSessionsRequest_Session::WatchSessionsRequest_Session(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const WatchSessionsRequest_Session& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsRequest_Session_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WatchSessionsRequest_Session* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.last_seen_sequence_number_ = from._impl_.last_seen_sequence_number_;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.WatchSessionsRequest.Session)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsRequest_Session::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        session_id_(arena) {}

inline void WatchSessionsRequest_Session::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.last_seen_sequence_number_ = {};
}
WatchSessionsRequest_Session::~WatchSessionsRequest_Session() {
  // @@protoc_insertion_point(destructor:browser_actuator.WatchSessionsRequest.Session)
  SharedDtor(*this);
}
inline void WatchSessionsRequest_Session::SharedDtor(MessageLite& self) {
  WatchSessionsRequest_Session& this_ = static_cast<WatchSessionsRequest_Session&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.session_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WatchSessionsRequest_Session_class_data_ =
    WatchSessionsRequest_Session::InternalGenerateClassData_(WatchSessionsRequest_Session_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsRequest_Session::GetClassData() const {
  return WatchSessionsRequest_Session_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsRequest_Session::GetClassData() const {
  return WatchSessionsRequest_Session_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WatchSessionsRequest_Session::ParseTableT_
    WatchSessionsRequest_Session::_table_ =
        WatchSessionsRequest_Session::InternalGenerateParseTable_(WatchSessionsRequest_Session_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WatchSessionsRequest_Session::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.WatchSessionsRequest.Session)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.session_id_.ClearNonDefaultToEmpty();
  }
  _impl_.last_seen_sequence_number_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL WatchSessionsRequest_Session::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const WatchSessionsRequest_Session& this_ = static_cast<const WatchSessionsRequest_Session&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL WatchSessionsRequest_Session::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const WatchSessionsRequest_Session& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.WatchSessionsRequest.Session)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string session_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (!this_._internal_session_id().empty()) {
      const ::std::string& _s = this_._internal_session_id();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.WatchSessionsRequest.Session.session_id");
      target = stream->WriteStringMaybeAliased(1, _s, target);
    }
  }

  // int64 last_seen_sequence_number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_last_seen_sequence_number() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
              stream, this_._internal_last_seen_sequence_number(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.WatchSessionsRequest.Session)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WatchSessionsRequest_Session::ByteSizeLong(const MessageLite& base) {
  const WatchSessionsRequest_Session& this_ = static_cast<const WatchSessionsRequest_Session&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WatchSessionsRequest_Session::ByteSizeLong() const {
  const WatchSessionsRequest_Session& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.WatchSessionsRequest.Session)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string session_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_session_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_session_id());
      }
    }
    // int64 last_seen_sequence_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_last_seen_sequence_number() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_last_seen_sequence_number());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void WatchSessionsRequest_Session::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WatchSessionsRequest_Session*>(&to_msg);
  auto& from = static_cast<const WatchSessionsRequest_Session&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.WatchSessionsRequest.Session)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!from._internal_session_id().empty()) {
        _this->_internal_set_session_id(from._internal_session_id());
      } else {
        if (_this->_impl_.session_id_.IsDefault()) {
          _this->_internal_set_session_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_last_seen_sequence_number() != 0) {
        _this->_impl_.last_seen_sequence_number_ = from._impl_.last_seen_sequence_number_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void WatchSessionsRequest_Session::CopyFrom(const WatchSessionsRequest_Session& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.WatchSessionsRequest.Session)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void WatchSessionsRequest_Session::InternalSwap(WatchSessionsRequest_Session* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.session_id_, &other->_impl_.session_id_, arena);
  swap(_impl_.last_seen_sequence_number_, other->_impl_.last_seen_sequence_number_);
}

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

WatchSessionsRequest::WatchSessionsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.WatchSessionsRequest)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::WatchSessionsRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        sessions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::browser_actuator::WatchSessionsRequest,
              PROTOBUF_FIELD_OFFSET(::browser_actuator::WatchSessionsRequest, _impl_.sessions_)>()
          , from.sessions_
        }
        ,
        request_id_(arena, from.request_id_) {}

WatchSessionsRequest::WatchSessionsRequest(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const WatchSessionsRequest& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsRequest_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WatchSessionsRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:browser_actuator.WatchSessionsRequest)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        sessions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::browser_actuator::WatchSessionsRequest,
            PROTOBUF_FIELD_OFFSET(::browser_actuator::WatchSessionsRequest, _impl_.sessions_)>()
         }
        ,
        request_id_(arena) {}

inline void WatchSessionsRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
WatchSessionsRequest::~WatchSessionsRequest() {
  // @@protoc_insertion_point(destructor:browser_actuator.WatchSessionsRequest)
  SharedDtor(*this);
}
inline void WatchSessionsRequest::SharedDtor(MessageLite& self) {
  WatchSessionsRequest& this_ = static_cast<WatchSessionsRequest&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.request_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WatchSessionsRequest_class_data_ =
    WatchSessionsRequest::InternalGenerateClassData_(WatchSessionsRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsRequest::GetClassData() const {
  return WatchSessionsRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsRequest::GetClassData() const {
  return WatchSessionsRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WatchSessionsRequest::ParseTableT_
    WatchSessionsRequest::_table_ =
        WatchSessionsRequest::InternalGenerateParseTable_(WatchSessionsRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WatchSessionsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.WatchSessionsRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.sessions_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.request_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL WatchSessionsRequest::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const WatchSessionsRequest& this_ = static_cast<const WatchSessionsRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL WatchSessionsRequest::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const WatchSessionsRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.WatchSessionsRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string request_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_request_id().empty()) {
      const ::std::string& _s = this_._internal_request_id();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.WatchSessionsRequest.request_id");
      target = stream->WriteStringMaybeAliased(1, _s, target);
    }
  }

  // repeated .browser_actuator.WatchSessionsRequest.Session sessions = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_sessions_size());
         i < n; i++) {
      const auto& repfield = this_._internal_sessions().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.WatchSessionsRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WatchSessionsRequest::ByteSizeLong(const MessageLite& base) {
  const WatchSessionsRequest& this_ = static_cast<const WatchSessionsRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WatchSessionsRequest::ByteSizeLong() const {
  const WatchSessionsRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.WatchSessionsRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .browser_actuator.WatchSessionsRequest.Session sessions = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_sessions_size();
      for (const auto& msg : this_._internal_sessions()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string request_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_request_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_request_id());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void WatchSessionsRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WatchSessionsRequest*>(&to_msg);
  auto& from = static_cast<const WatchSessionsRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.WatchSessionsRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_sessions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_sessions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_request_id().empty()) {
        _this->_internal_set_request_id(from._internal_request_id());
      } else {
        if (_this->_impl_.request_id_.IsDefault()) {
          _this->_internal_set_request_id("");
        }
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void WatchSessionsRequest::CopyFrom(const WatchSessionsRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.WatchSessionsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void WatchSessionsRequest::InternalSwap(WatchSessionsRequest* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.sessions_.InternalSwap(&other->_impl_.sessions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.request_id_, &other->_impl_.request_id_, arena);
}

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

SendSessionMessageRequest::SendSessionMessageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendSessionMessageRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.SendSessionMessageRequest)
}
PROTOBUF_NDEBUG_INLINE SendSessionMessageRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::SendSessionMessageRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        request_id_(arena, from.request_id_) {}

SendSessionMessageRequest::SendSessionMessageRequest(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SendSessionMessageRequest& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendSessionMessageRequest_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SendSessionMessageRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.actuator_upstream_message_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.actuator_upstream_message_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.SendSessionMessageRequest)
}
PROTOBUF_NDEBUG_INLINE SendSessionMessageRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        request_id_(arena) {}

inline void SendSessionMessageRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.actuator_upstream_message_ = {};
}
SendSessionMessageRequest::~SendSessionMessageRequest() {
  // @@protoc_insertion_point(destructor:browser_actuator.SendSessionMessageRequest)
  SharedDtor(*this);
}
inline void SendSessionMessageRequest::SharedDtor(MessageLite& self) {
  SendSessionMessageRequest& this_ = static_cast<SendSessionMessageRequest&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.request_id_.Destroy();
  delete this_._impl_.actuator_upstream_message_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SendSessionMessageRequest_class_data_ =
    SendSessionMessageRequest::InternalGenerateClassData_(SendSessionMessageRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendSessionMessageRequest::GetClassData() const {
  return SendSessionMessageRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendSessionMessageRequest::GetClassData() const {
  return SendSessionMessageRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SendSessionMessageRequest::ParseTableT_
    SendSessionMessageRequest::_table_ =
        SendSessionMessageRequest::InternalGenerateParseTable_(SendSessionMessageRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SendSessionMessageRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.SendSessionMessageRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.request_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.actuator_upstream_message_ != nullptr);
      _impl_.actuator_upstream_message_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SendSessionMessageRequest::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SendSessionMessageRequest& this_ = static_cast<const SendSessionMessageRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SendSessionMessageRequest::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SendSessionMessageRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.SendSessionMessageRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string request_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (!this_._internal_request_id().empty()) {
      const ::std::string& _s = this_._internal_request_id();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "browser_actuator.SendSessionMessageRequest.request_id");
      target = stream->WriteStringMaybeAliased(1, _s, target);
    }
  }

  // .browser_actuator.ActuatorUpstreamMessage actuator_upstream_message = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.actuator_upstream_message_, this_._impl_.actuator_upstream_message_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.SendSessionMessageRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SendSessionMessageRequest::ByteSizeLong(const MessageLite& base) {
  const SendSessionMessageRequest& this_ = static_cast<const SendSessionMessageRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SendSessionMessageRequest::ByteSizeLong() const {
  const SendSessionMessageRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.SendSessionMessageRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string request_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_request_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_request_id());
      }
    }
    // .browser_actuator.ActuatorUpstreamMessage actuator_upstream_message = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.actuator_upstream_message_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SendSessionMessageRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SendSessionMessageRequest*>(&to_msg);
  auto& from = static_cast<const SendSessionMessageRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.SendSessionMessageRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!from._internal_request_id().empty()) {
        _this->_internal_set_request_id(from._internal_request_id());
      } else {
        if (_this->_impl_.request_id_.IsDefault()) {
          _this->_internal_set_request_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.actuator_upstream_message_ != nullptr);
      if (_this->_impl_.actuator_upstream_message_ == nullptr) {
        _this->_impl_.actuator_upstream_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.actuator_upstream_message_);
      } else {
        _this->_impl_.actuator_upstream_message_->MergeFrom(*from._impl_.actuator_upstream_message_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SendSessionMessageRequest::CopyFrom(const SendSessionMessageRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.SendSessionMessageRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SendSessionMessageRequest::InternalSwap(SendSessionMessageRequest* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.request_id_, &other->_impl_.request_id_, arena);
  swap(_impl_.actuator_upstream_message_, other->_impl_.actuator_upstream_message_);
}

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

SendSessionMessageResponse::SendSessionMessageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendSessionMessageResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.SendSessionMessageResponse)
}
SendSessionMessageResponse::SendSessionMessageResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SendSessionMessageResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendSessionMessageResponse_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SendSessionMessageResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SendSessionMessageResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SendSessionMessageResponse::~SendSessionMessageResponse() {
  // @@protoc_insertion_point(destructor:browser_actuator.SendSessionMessageResponse)
  SharedDtor(*this);
}
inline void SendSessionMessageResponse::SharedDtor(MessageLite& self) {
  SendSessionMessageResponse& this_ = static_cast<SendSessionMessageResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SendSessionMessageResponse_class_data_ =
    SendSessionMessageResponse::InternalGenerateClassData_(SendSessionMessageResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendSessionMessageResponse::GetClassData() const {
  return SendSessionMessageResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendSessionMessageResponse::GetClassData() const {
  return SendSessionMessageResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SendSessionMessageResponse::ParseTableT_
    SendSessionMessageResponse::_table_ =
        SendSessionMessageResponse::InternalGenerateParseTable_(SendSessionMessageResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SendSessionMessageResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.SendSessionMessageResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SendSessionMessageResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SendSessionMessageResponse& this_ = static_cast<const SendSessionMessageResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SendSessionMessageResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SendSessionMessageResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.SendSessionMessageResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.SendSessionMessageResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SendSessionMessageResponse::ByteSizeLong(const MessageLite& base) {
  const SendSessionMessageResponse& this_ = static_cast<const SendSessionMessageResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SendSessionMessageResponse::ByteSizeLong() const {
  const SendSessionMessageResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.SendSessionMessageResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SendSessionMessageResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SendSessionMessageResponse*>(&to_msg);
  auto& from = static_cast<const SendSessionMessageResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.SendSessionMessageResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SendSessionMessageResponse::CopyFrom(const SendSessionMessageResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.SendSessionMessageResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SendSessionMessageResponse::InternalSwap(SendSessionMessageResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

WatchSessionsResponse::WatchSessionsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:browser_actuator.WatchSessionsResponse)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::browser_actuator::WatchSessionsResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

WatchSessionsResponse::WatchSessionsResponse(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const WatchSessionsResponse& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WatchSessionsResponse_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WatchSessionsResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.actuator_downstream_message_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.actuator_downstream_message_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:browser_actuator.WatchSessionsResponse)
}
PROTOBUF_NDEBUG_INLINE WatchSessionsResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void WatchSessionsResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.actuator_downstream_message_ = {};
}
WatchSessionsResponse::~WatchSessionsResponse() {
  // @@protoc_insertion_point(destructor:browser_actuator.WatchSessionsResponse)
  SharedDtor(*this);
}
inline void WatchSessionsResponse::SharedDtor(MessageLite& self) {
  WatchSessionsResponse& this_ = static_cast<WatchSessionsResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.actuator_downstream_message_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WatchSessionsResponse_class_data_ =
    WatchSessionsResponse::InternalGenerateClassData_(WatchSessionsResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsResponse::GetClassData() const {
  return WatchSessionsResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WatchSessionsResponse::GetClassData() const {
  return WatchSessionsResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WatchSessionsResponse::ParseTableT_
    WatchSessionsResponse::_table_ =
        WatchSessionsResponse::InternalGenerateParseTable_(WatchSessionsResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WatchSessionsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:browser_actuator.WatchSessionsResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.actuator_downstream_message_ != nullptr);
    _impl_.actuator_downstream_message_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL WatchSessionsResponse::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const WatchSessionsResponse& this_ = static_cast<const WatchSessionsResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL WatchSessionsResponse::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const WatchSessionsResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:browser_actuator.WatchSessionsResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .browser_actuator.ActuatorDownstreamMessage actuator_downstream_message = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.actuator_downstream_message_, this_._impl_.actuator_downstream_message_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:browser_actuator.WatchSessionsResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WatchSessionsResponse::ByteSizeLong(const MessageLite& base) {
  const WatchSessionsResponse& this_ = static_cast<const WatchSessionsResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WatchSessionsResponse::ByteSizeLong() const {
  const WatchSessionsResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:browser_actuator.WatchSessionsResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // .browser_actuator.ActuatorDownstreamMessage actuator_downstream_message = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.actuator_downstream_message_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void WatchSessionsResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WatchSessionsResponse*>(&to_msg);
  auto& from = static_cast<const WatchSessionsResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:browser_actuator.WatchSessionsResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(from._impl_.actuator_downstream_message_ != nullptr);
    if (_this->_impl_.actuator_downstream_message_ == nullptr) {
      _this->_impl_.actuator_downstream_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.actuator_downstream_message_);
    } else {
      _this->_impl_.actuator_downstream_message_->MergeFrom(*from._impl_.actuator_downstream_message_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void WatchSessionsResponse::CopyFrom(const WatchSessionsResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:browser_actuator.WatchSessionsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void WatchSessionsResponse::InternalSwap(WatchSessionsResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.actuator_downstream_message_, other->_impl_.actuator_downstream_message_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace browser_actuator
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
