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

#include "rtc_event_log2.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 webrtc {
namespace rtclog2 {
class ScreamBweUpdates::_Internal {
 public:
  using HasBits = decltype(::std::declval<ScreamBweUpdates>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_._has_bits_);
};

constexpr ScreamBweUpdates::ParseTableT_ ScreamBweUpdates::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_._has_bits_),
      0, // no _extensions_
      107, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // 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<::webrtc::rtclog2::ScreamBweUpdates>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 7, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.timestamp_ms_)}},
      // optional uint32 ref_window_bytes = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 8, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.ref_window_bytes_)}},
      // optional uint32 target_rate_kbps = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 9, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.target_rate_kbps_)}},
      // optional uint32 smoothed_rtt_ms = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 10, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.smoothed_rtt_ms_)}},
      // optional uint32 avg_queue_delay_ms = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 11, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.avg_queue_delay_ms_)}},
      // optional uint32 l4s_marked_permille = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 12, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.l4s_marked_permille_)}},
      // optional uint32 data_in_flight_bytes = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 13, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.data_in_flight_bytes_)}},
      // optional bytes smoothed_rtt_ms_deltas = 104;
      {::_pbi::TcParser::FastBS2,
       {1730, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.smoothed_rtt_ms_deltas_)}},
      // optional bytes avg_queue_delay_ms_deltas = 105;
      {::_pbi::TcParser::FastBS2,
       {1738, 4, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.avg_queue_delay_ms_deltas_)}},
      // optional bytes l4s_marked_permille_deltas = 106;
      {::_pbi::TcParser::FastBS2,
       {1746, 5, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.l4s_marked_permille_deltas_)}},
      // optional bytes data_in_flight_bytes_deltas = 107;
      {::_pbi::TcParser::FastBS2,
       {1754, 6, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.data_in_flight_bytes_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 number_of_deltas = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 14, 0,
        PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.number_of_deltas_)}},
    }}, {{
      101, 0, 1,
      65408, 8,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 ref_window_bytes = 2;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.ref_window_bytes_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 target_rate_kbps = 3;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.target_rate_kbps_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 smoothed_rtt_ms = 4;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.smoothed_rtt_ms_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 avg_queue_delay_ms = 5;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.avg_queue_delay_ms_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 l4s_marked_permille = 6;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.l4s_marked_permille_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 data_in_flight_bytes = 7;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.data_in_flight_bytes_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 15;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes ref_window_bytes_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.ref_window_bytes_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes target_rate_kbps_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.target_rate_kbps_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes smoothed_rtt_ms_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.smoothed_rtt_ms_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes avg_queue_delay_ms_deltas = 105;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.avg_queue_delay_ms_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes l4s_marked_permille_deltas = 106;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.l4s_marked_permille_deltas_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes data_in_flight_bytes_deltas = 107;
      {PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.data_in_flight_bytes_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr ScreamBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ref_window_bytes_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        target_rate_kbps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        smoothed_rtt_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        avg_queue_delay_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        l4s_marked_permille_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        data_in_flight_bytes_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        ref_window_bytes_{0u},
        target_rate_kbps_{0u},
        smoothed_rtt_ms_{0u},
        avg_queue_delay_ms_{0u},
        l4s_marked_permille_{0u},
        data_in_flight_bytes_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr ScreamBweUpdates::ScreamBweUpdates(::_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 ScreamBweUpdates::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScreamBweUpdates(arena);
}
constexpr auto ScreamBweUpdates::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScreamBweUpdates), alignof(ScreamBweUpdates));
}
constexpr auto ScreamBweUpdates::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
          &ScreamBweUpdates::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScreamBweUpdates>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScreamBweUpdates::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScreamBweUpdates>(), &ScreamBweUpdates::ByteSizeLong,
              &ScreamBweUpdates::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.ScreamBweUpdates",
  };
}
struct ScreamBweUpdatesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScreamBweUpdatesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScreamBweUpdates_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScreamBweUpdates::InternalGenerateClassData_(
            _default, &ScreamBweUpdates_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScreamBweUpdates>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScreamBweUpdatesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScreamBweUpdates _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScreamBweUpdates>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScreamBweUpdatesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr RtpHeaderExtensionConfig::ParseTableT_ RtpHeaderExtensionConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // 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<::webrtc::rtclog2::RtpHeaderExtensionConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int32 transmission_time_offset_id = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.transmission_time_offset_id_)}},
      // optional int32 absolute_send_time_id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.absolute_send_time_id_)}},
      // optional int32 transport_sequence_number_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.transport_sequence_number_id_)}},
      // optional int32 video_rotation_id = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.video_rotation_id_)}},
      // optional int32 audio_level_id = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.audio_level_id_)}},
      // optional int32 dependency_descriptor_id = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.dependency_descriptor_id_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 transmission_time_offset_id = 1;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.transmission_time_offset_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 absolute_send_time_id = 2;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.absolute_send_time_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 transport_sequence_number_id = 3;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.transport_sequence_number_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 video_rotation_id = 4;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.video_rotation_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 audio_level_id = 5;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.audio_level_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 dependency_descriptor_id = 6;
      {PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.dependency_descriptor_id_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr RtpHeaderExtensionConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        transmission_time_offset_id_{0},
        absolute_send_time_id_{0},
        transport_sequence_number_id_{0},
        video_rotation_id_{0},
        audio_level_id_{0},
        dependency_descriptor_id_{0} {}

template <typename>
constexpr RtpHeaderExtensionConfig::RtpHeaderExtensionConfig(::_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 RtpHeaderExtensionConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) RtpHeaderExtensionConfig(arena);
}
constexpr auto RtpHeaderExtensionConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RtpHeaderExtensionConfig), alignof(RtpHeaderExtensionConfig));
}
constexpr auto RtpHeaderExtensionConfig::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
          &RtpHeaderExtensionConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<RtpHeaderExtensionConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &RtpHeaderExtensionConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<RtpHeaderExtensionConfig>(), &RtpHeaderExtensionConfig::ByteSizeLong,
              &RtpHeaderExtensionConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.RtpHeaderExtensionConfig",
  };
}
struct RtpHeaderExtensionConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr RtpHeaderExtensionConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 RtpHeaderExtensionConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(RtpHeaderExtensionConfig::InternalGenerateClassData_(
            _default, &RtpHeaderExtensionConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<RtpHeaderExtensionConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~RtpHeaderExtensionConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) RtpHeaderExtensionConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<RtpHeaderExtensionConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr RouteChange::ParseTableT_ RouteChange::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(RouteChange, _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
      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<::webrtc::rtclog2::RouteChange>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.timestamp_ms_)}},
      // optional bool connected = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.connected_)}},
      // optional uint32 overhead = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.overhead_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool connected = 2;
      {PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.connected_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 overhead = 3;
      {PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.overhead_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr RouteChange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        connected_{false},
        overhead_{0u} {}

template <typename>
constexpr RouteChange::RouteChange(::_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 RouteChange::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) RouteChange(arena);
}
constexpr auto RouteChange::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RouteChange), alignof(RouteChange));
}
constexpr auto RouteChange::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
          &RouteChange::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<RouteChange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &RouteChange::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<RouteChange>(), &RouteChange::ByteSizeLong,
              &RouteChange::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(RouteChange, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.RouteChange",
  };
}
struct RouteChangeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr RouteChangeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 RouteChange_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(RouteChange::InternalGenerateClassData_(
            _default, &RouteChange_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<RouteChange>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~RouteChangeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) RouteChange _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<RouteChange>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(RouteChangeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr RemoteEstimates::ParseTableT_ RemoteEstimates::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_._has_bits_),
      0, // no _extensions_
      103, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // 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<::webrtc::rtclog2::RemoteEstimates>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.timestamp_ms_)}},
      // optional uint32 link_capacity_lower_kbps = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_lower_kbps_)}},
      // optional uint32 link_capacity_upper_kbps = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_upper_kbps_)}},
      // optional uint32 number_of_deltas = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 6, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.number_of_deltas_)}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 0, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.timestamp_ms_deltas_)}},
      // optional bytes link_capacity_lower_kbps_deltas = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 1, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_lower_kbps_deltas_)}},
      // optional bytes link_capacity_upper_kbps_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 2, 0,
        PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_upper_kbps_deltas_)}},
    }}, {{
      101, 0, 1,
      65528, 4,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 link_capacity_lower_kbps = 2;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_lower_kbps_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 link_capacity_upper_kbps = 3;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_upper_kbps_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 4;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes link_capacity_lower_kbps_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_lower_kbps_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes link_capacity_upper_kbps_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.link_capacity_upper_kbps_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr RemoteEstimates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        link_capacity_lower_kbps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        link_capacity_upper_kbps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        link_capacity_lower_kbps_{0u},
        link_capacity_upper_kbps_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr RemoteEstimates::RemoteEstimates(::_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 RemoteEstimates::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) RemoteEstimates(arena);
}
constexpr auto RemoteEstimates::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(RemoteEstimates), alignof(RemoteEstimates));
}
constexpr auto RemoteEstimates::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
          &RemoteEstimates::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<RemoteEstimates>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &RemoteEstimates::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<RemoteEstimates>(), &RemoteEstimates::ByteSizeLong,
              &RemoteEstimates::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.RemoteEstimates",
  };
}
struct RemoteEstimatesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr RemoteEstimatesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 RemoteEstimates_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(RemoteEstimates::InternalGenerateClassData_(
            _default, &RemoteEstimates_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<RemoteEstimates>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~RemoteEstimatesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) RemoteEstimates _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<RemoteEstimates>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(RemoteEstimatesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr OutgoingRtcpPackets::ParseTableT_ OutgoingRtcpPackets::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_._has_bits_),
      0, // no _extensions_
      102, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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<::webrtc::rtclog2::OutgoingRtcpPackets>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.timestamp_ms_)}},
      // optional bytes raw_packet = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.raw_packet_)}},
      // optional uint32 number_of_deltas = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.number_of_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 1, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.timestamp_ms_deltas_)}},
      // optional bytes raw_packet_blobs = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 2, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.raw_packet_blobs_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 1,
      65532, 3,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bytes raw_packet = 2;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.raw_packet_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional uint32 number_of_deltas = 3;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes raw_packet_blobs = 102;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.raw_packet_blobs_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr OutgoingRtcpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        raw_packet_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        raw_packet_blobs_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        number_of_deltas_{0u} {}

template <typename>
constexpr OutgoingRtcpPackets::OutgoingRtcpPackets(::_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 OutgoingRtcpPackets::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OutgoingRtcpPackets(arena);
}
constexpr auto OutgoingRtcpPackets::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OutgoingRtcpPackets), alignof(OutgoingRtcpPackets));
}
constexpr auto OutgoingRtcpPackets::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
          &OutgoingRtcpPackets::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<OutgoingRtcpPackets>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &OutgoingRtcpPackets::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<OutgoingRtcpPackets>(), &OutgoingRtcpPackets::ByteSizeLong,
              &OutgoingRtcpPackets::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.OutgoingRtcpPackets",
  };
}
struct OutgoingRtcpPacketsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr OutgoingRtcpPacketsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 OutgoingRtcpPackets_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(OutgoingRtcpPackets::InternalGenerateClassData_(
            _default, &OutgoingRtcpPackets_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<OutgoingRtcpPackets>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~OutgoingRtcpPacketsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) OutgoingRtcpPackets _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<OutgoingRtcpPackets>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(OutgoingRtcpPacketsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr NetEqSetMinimumDelay::ParseTableT_ NetEqSetMinimumDelay::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_._has_bits_),
      0, // no _extensions_
      103, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // 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<::webrtc::rtclog2::NetEqSetMinimumDelay>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.timestamp_ms_)}},
      // optional fixed32 remote_ssrc = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 4, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.remote_ssrc_)}},
      // optional int32 minimum_delay_ms = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.minimum_delay_ms_)}},
      // optional uint32 number_of_deltas = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 6, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.number_of_deltas_)}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.timestamp_ms_deltas_)}},
      // optional bytes remote_ssrc_deltas = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 1, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.remote_ssrc_deltas_)}},
      // optional bytes minimum_delay_ms_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 2, 0,
        PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.minimum_delay_ms_deltas_)}},
    }}, {{
      101, 0, 1,
      65528, 4,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional fixed32 remote_ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.remote_ssrc_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional int32 minimum_delay_ms = 3;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.minimum_delay_ms_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 number_of_deltas = 4;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes remote_ssrc_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.remote_ssrc_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes minimum_delay_ms_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.minimum_delay_ms_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr NetEqSetMinimumDelay::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        remote_ssrc_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        minimum_delay_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        remote_ssrc_{0u},
        minimum_delay_ms_{0},
        number_of_deltas_{0u} {}

template <typename>
constexpr NetEqSetMinimumDelay::NetEqSetMinimumDelay(::_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 NetEqSetMinimumDelay::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NetEqSetMinimumDelay(arena);
}
constexpr auto NetEqSetMinimumDelay::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(NetEqSetMinimumDelay), alignof(NetEqSetMinimumDelay));
}
constexpr auto NetEqSetMinimumDelay::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
          &NetEqSetMinimumDelay::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<NetEqSetMinimumDelay>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NetEqSetMinimumDelay::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<NetEqSetMinimumDelay>(), &NetEqSetMinimumDelay::ByteSizeLong,
              &NetEqSetMinimumDelay::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.NetEqSetMinimumDelay",
  };
}
struct NetEqSetMinimumDelayGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr NetEqSetMinimumDelayGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 NetEqSetMinimumDelay_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(NetEqSetMinimumDelay::InternalGenerateClassData_(
            _default, &NetEqSetMinimumDelay_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<NetEqSetMinimumDelay>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~NetEqSetMinimumDelayGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) NetEqSetMinimumDelay _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<NetEqSetMinimumDelay>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelayGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr LossBasedBweUpdates::ParseTableT_ LossBasedBweUpdates::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_._has_bits_),
      0, // no _extensions_
      104, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // 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<::webrtc::rtclog2::LossBasedBweUpdates>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bytes total_packets_deltas = 104;
      {::_pbi::TcParser::FastBS2,
       {1730, 3, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.total_packets_deltas_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.timestamp_ms_)}},
      // optional uint32 bitrate_bps = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 5, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.bitrate_bps_)}},
      // optional uint32 fraction_loss = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.fraction_loss_)}},
      // optional uint32 total_packets = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 7, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.total_packets_)}},
      // optional uint32 number_of_deltas = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 8, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.number_of_deltas_)}},
      // optional bytes bitrate_bps_deltas = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 1, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.bitrate_bps_deltas_)}},
      // optional bytes fraction_loss_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 2, 0,
        PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.fraction_loss_deltas_)}},
    }}, {{
      101, 0, 1,
      65520, 5,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 bitrate_bps = 2;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.bitrate_bps_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 fraction_loss = 3;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.fraction_loss_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 total_packets = 4;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.total_packets_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 5;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes bitrate_bps_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.bitrate_bps_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes fraction_loss_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.fraction_loss_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes total_packets_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.total_packets_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr LossBasedBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bitrate_bps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        fraction_loss_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        total_packets_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        bitrate_bps_{0u},
        fraction_loss_{0u},
        total_packets_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr LossBasedBweUpdates::LossBasedBweUpdates(::_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 LossBasedBweUpdates::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) LossBasedBweUpdates(arena);
}
constexpr auto LossBasedBweUpdates::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LossBasedBweUpdates), alignof(LossBasedBweUpdates));
}
constexpr auto LossBasedBweUpdates::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
          &LossBasedBweUpdates::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<LossBasedBweUpdates>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &LossBasedBweUpdates::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<LossBasedBweUpdates>(), &LossBasedBweUpdates::ByteSizeLong,
              &LossBasedBweUpdates::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.LossBasedBweUpdates",
  };
}
struct LossBasedBweUpdatesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr LossBasedBweUpdatesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 LossBasedBweUpdates_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(LossBasedBweUpdates::InternalGenerateClassData_(
            _default, &LossBasedBweUpdates_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<LossBasedBweUpdates>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~LossBasedBweUpdatesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) LossBasedBweUpdates _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<LossBasedBweUpdates>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(LossBasedBweUpdatesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IncomingRtcpPackets::ParseTableT_ IncomingRtcpPackets::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_._has_bits_),
      0, // no _extensions_
      102, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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<::webrtc::rtclog2::IncomingRtcpPackets>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.timestamp_ms_)}},
      // optional bytes raw_packet = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.raw_packet_)}},
      // optional uint32 number_of_deltas = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.number_of_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 1, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.timestamp_ms_deltas_)}},
      // optional bytes raw_packet_blobs = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 2, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.raw_packet_blobs_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 1,
      65532, 3,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bytes raw_packet = 2;
      {PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.raw_packet_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional uint32 number_of_deltas = 3;
      {PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes raw_packet_blobs = 102;
      {PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.raw_packet_blobs_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr IncomingRtcpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        raw_packet_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        raw_packet_blobs_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        number_of_deltas_{0u} {}

template <typename>
constexpr IncomingRtcpPackets::IncomingRtcpPackets(::_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 IncomingRtcpPackets::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IncomingRtcpPackets(arena);
}
constexpr auto IncomingRtcpPackets::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(IncomingRtcpPackets), alignof(IncomingRtcpPackets));
}
constexpr auto IncomingRtcpPackets::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
          &IncomingRtcpPackets::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IncomingRtcpPackets>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IncomingRtcpPackets::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IncomingRtcpPackets>(), &IncomingRtcpPackets::ByteSizeLong,
              &IncomingRtcpPackets::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.IncomingRtcpPackets",
  };
}
struct IncomingRtcpPacketsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IncomingRtcpPacketsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IncomingRtcpPackets_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IncomingRtcpPackets::InternalGenerateClassData_(
            _default, &IncomingRtcpPackets_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IncomingRtcpPackets>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IncomingRtcpPacketsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IncomingRtcpPackets _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IncomingRtcpPackets>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IncomingRtcpPacketsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IceCandidatePairEvent::ParseTableT_ IceCandidatePairEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // 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<::webrtc::rtclog2::IceCandidatePairEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional uint32 transaction_id = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.transaction_id_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.timestamp_ms_)}},
      // optional .webrtc.rtclog2.IceCandidatePairEvent.IceCandidatePairEventType event_type = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.event_type_)}},
      // optional uint32 candidate_pair_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.candidate_pair_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .webrtc.rtclog2.IceCandidatePairEvent.IceCandidatePairEventType event_type = 2;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.event_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional uint32 candidate_pair_id = 3;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.candidate_pair_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 transaction_id = 4;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.transaction_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    {{
        {0, 4},
    }},
    {{
    }},
  };
}


inline constexpr IceCandidatePairEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        event_type_{static_cast< ::webrtc::rtclog2::IceCandidatePairEvent_IceCandidatePairEventType >(0)},
        candidate_pair_id_{0u},
        transaction_id_{0u} {}

template <typename>
constexpr IceCandidatePairEvent::IceCandidatePairEvent(::_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 IceCandidatePairEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IceCandidatePairEvent(arena);
}
constexpr auto IceCandidatePairEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IceCandidatePairEvent), alignof(IceCandidatePairEvent));
}
constexpr auto IceCandidatePairEvent::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
          &IceCandidatePairEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IceCandidatePairEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IceCandidatePairEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IceCandidatePairEvent>(), &IceCandidatePairEvent::ByteSizeLong,
              &IceCandidatePairEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.IceCandidatePairEvent",
  };
}
struct IceCandidatePairEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IceCandidatePairEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IceCandidatePairEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IceCandidatePairEvent::InternalGenerateClassData_(
            _default, &IceCandidatePairEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IceCandidatePairEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IceCandidatePairEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IceCandidatePairEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IceCandidatePairEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IceCandidatePairEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IceCandidatePairConfig::ParseTableT_ IceCandidatePairConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      10,  // num_field_entries
      8,  // 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<::webrtc::rtclog2::IceCandidatePairConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.timestamp_ms_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidatePairConfigType config_type = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.config_type_)}},
      // optional uint32 candidate_pair_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.candidate_pair_id_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType local_candidate_type = 4;
      {::_pbi::TcParser::FastEr0S1,
       {32, 3, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_candidate_type_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol local_relay_protocol = 5;
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_relay_protocol_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.NetworkType local_network_type = 6;
      {::_pbi::TcParser::FastEr0S1,
       {48, 5, 5,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_network_type_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily local_address_family = 7;
      {::_pbi::TcParser::FastEr0S1,
       {56, 6, 2,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_address_family_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType remote_candidate_type = 8;
      {::_pbi::TcParser::FastEr0S1,
       {64, 7, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.remote_candidate_type_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily remote_address_family = 9;
      {::_pbi::TcParser::FastEr0S1,
       {72, 8, 2,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.remote_address_family_)}},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol candidate_pair_protocol = 10;
      {::_pbi::TcParser::FastEr0S1,
       {80, 9, 4,
        PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.candidate_pair_protocol_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidatePairConfigType config_type = 2;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.config_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional uint32 candidate_pair_id = 3;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.candidate_pair_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType local_candidate_type = 4;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_candidate_type_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol local_relay_protocol = 5;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_relay_protocol_), _Internal::kHasBitsOffset + 4, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.NetworkType local_network_type = 6;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_network_type_), _Internal::kHasBitsOffset + 5, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily local_address_family = 7;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.local_address_family_), _Internal::kHasBitsOffset + 6, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType remote_candidate_type = 8;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.remote_candidate_type_), _Internal::kHasBitsOffset + 7, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily remote_address_family = 9;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.remote_address_family_), _Internal::kHasBitsOffset + 8, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol candidate_pair_protocol = 10;
      {PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.candidate_pair_protocol_), _Internal::kHasBitsOffset + 9, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 4},
        {0, 4},
        {0, 4},
        {0, 5},
        {0, 2},
        {0, 4},
        {0, 2},
        {0, 4},
    }},
    {{
    }},
  };
}


inline constexpr IceCandidatePairConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        config_type_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_IceCandidatePairConfigType >(0)},
        candidate_pair_id_{0u},
        local_candidate_type_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_IceCandidateType >(0)},
        local_relay_protocol_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_Protocol >(0)},
        local_network_type_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_NetworkType >(0)},
        local_address_family_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_AddressFamily >(0)},
        remote_candidate_type_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_IceCandidateType >(0)},
        remote_address_family_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_AddressFamily >(0)},
        candidate_pair_protocol_{static_cast< ::webrtc::rtclog2::IceCandidatePairConfig_Protocol >(0)} {}

template <typename>
constexpr IceCandidatePairConfig::IceCandidatePairConfig(::_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 IceCandidatePairConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IceCandidatePairConfig(arena);
}
constexpr auto IceCandidatePairConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IceCandidatePairConfig), alignof(IceCandidatePairConfig));
}
constexpr auto IceCandidatePairConfig::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
          &IceCandidatePairConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IceCandidatePairConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IceCandidatePairConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IceCandidatePairConfig>(), &IceCandidatePairConfig::ByteSizeLong,
              &IceCandidatePairConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.IceCandidatePairConfig",
  };
}
struct IceCandidatePairConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IceCandidatePairConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IceCandidatePairConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IceCandidatePairConfig::InternalGenerateClassData_(
            _default, &IceCandidatePairConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IceCandidatePairConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IceCandidatePairConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IceCandidatePairConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IceCandidatePairConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IceCandidatePairConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GenericPacketSent::ParseTableT_ GenericPacketSent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_._has_bits_),
      0, // no _extensions_
      21, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4292902880,  // skipmap
      offsetof(ParseTableT_, field_entries),
      11,  // 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<::webrtc::rtclog2::GenericPacketSent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional uint32 number_of_deltas = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 10, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.number_of_deltas_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.timestamp_ms_)}},
      // optional int64 packet_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 6, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.packet_number_)}},
      // optional int32 overhead_length = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 7, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.overhead_length_)}},
      // optional int32 payload_length = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 8, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.payload_length_)}},
      // optional int32 padding_length = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 9, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.padding_length_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 packet_number = 2;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.packet_number_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 overhead_length = 3;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.overhead_length_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 payload_length = 4;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.payload_length_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 padding_length = 5;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.padding_length_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 number_of_deltas = 16;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 17;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes packet_number_deltas = 18;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.packet_number_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes overhead_length_deltas = 19;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.overhead_length_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes payload_length_deltas = 20;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.payload_length_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes padding_length_deltas = 21;
      {PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.padding_length_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr GenericPacketSent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        packet_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        overhead_length_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        payload_length_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        padding_length_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        packet_number_{::int64_t{0}},
        overhead_length_{0},
        payload_length_{0},
        padding_length_{0},
        number_of_deltas_{0u} {}

template <typename>
constexpr GenericPacketSent::GenericPacketSent(::_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 GenericPacketSent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GenericPacketSent(arena);
}
constexpr auto GenericPacketSent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GenericPacketSent), alignof(GenericPacketSent));
}
constexpr auto GenericPacketSent::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
          &GenericPacketSent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GenericPacketSent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GenericPacketSent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GenericPacketSent>(), &GenericPacketSent::ByteSizeLong,
              &GenericPacketSent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.GenericPacketSent",
  };
}
struct GenericPacketSentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GenericPacketSentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GenericPacketSent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GenericPacketSent::InternalGenerateClassData_(
            _default, &GenericPacketSent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GenericPacketSent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GenericPacketSentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GenericPacketSent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GenericPacketSent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GenericPacketSentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GenericPacketReceived::ParseTableT_ GenericPacketReceived::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_._has_bits_),
      0, // no _extensions_
      19, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294475768,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // 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<::webrtc::rtclog2::GenericPacketReceived>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional uint32 number_of_deltas = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 6, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.number_of_deltas_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.timestamp_ms_)}},
      // optional int64 packet_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_number_)}},
      // optional int32 packet_length = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_length_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 packet_number = 2;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_number_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 packet_length = 3;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_length_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 number_of_deltas = 16;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 17;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes packet_number_deltas = 18;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_number_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes packet_length_deltas = 19;
      {PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.packet_length_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr GenericPacketReceived::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        packet_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        packet_length_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        packet_number_{::int64_t{0}},
        packet_length_{0},
        number_of_deltas_{0u} {}

template <typename>
constexpr GenericPacketReceived::GenericPacketReceived(::_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 GenericPacketReceived::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GenericPacketReceived(arena);
}
constexpr auto GenericPacketReceived::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GenericPacketReceived), alignof(GenericPacketReceived));
}
constexpr auto GenericPacketReceived::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
          &GenericPacketReceived::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GenericPacketReceived>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GenericPacketReceived::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GenericPacketReceived>(), &GenericPacketReceived::ByteSizeLong,
              &GenericPacketReceived::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.GenericPacketReceived",
  };
}
struct GenericPacketReceivedGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GenericPacketReceivedGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GenericPacketReceived_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GenericPacketReceived::InternalGenerateClassData_(
            _default, &GenericPacketReceived_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GenericPacketReceived>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GenericPacketReceivedGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GenericPacketReceived _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GenericPacketReceived>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GenericPacketReceivedGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GenericAckReceived::ParseTableT_ GenericAckReceived::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_._has_bits_),
      0, // no _extensions_
      20, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4293951472,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // 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<::webrtc::rtclog2::GenericAckReceived>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional uint32 number_of_deltas = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 8, 0,
        PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.number_of_deltas_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.timestamp_ms_)}},
      // optional int64 packet_number = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 5, 0,
        PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.packet_number_)}},
      // optional int64 acked_packet_number = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.acked_packet_number_)}},
      // optional int64 receive_acked_packet_time_ms = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 7, 0,
        PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.receive_acked_packet_time_ms_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 packet_number = 2;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.packet_number_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 acked_packet_number = 3;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.acked_packet_number_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 receive_acked_packet_time_ms = 4;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.receive_acked_packet_time_ms_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 number_of_deltas = 16;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 17;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes packet_number_deltas = 18;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.packet_number_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes acked_packet_number_deltas = 19;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.acked_packet_number_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes receive_acked_packet_time_ms_deltas = 20;
      {PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.receive_acked_packet_time_ms_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr GenericAckReceived::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        packet_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        acked_packet_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        receive_acked_packet_time_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        packet_number_{::int64_t{0}},
        acked_packet_number_{::int64_t{0}},
        receive_acked_packet_time_ms_{::int64_t{0}},
        number_of_deltas_{0u} {}

template <typename>
constexpr GenericAckReceived::GenericAckReceived(::_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 GenericAckReceived::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GenericAckReceived(arena);
}
constexpr auto GenericAckReceived::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GenericAckReceived), alignof(GenericAckReceived));
}
constexpr auto GenericAckReceived::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
          &GenericAckReceived::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GenericAckReceived>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GenericAckReceived::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GenericAckReceived>(), &GenericAckReceived::ByteSizeLong,
              &GenericAckReceived::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.GenericAckReceived",
  };
}
struct GenericAckReceivedGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GenericAckReceivedGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GenericAckReceived_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GenericAckReceived::InternalGenerateClassData_(
            _default, &GenericAckReceived_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GenericAckReceived>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GenericAckReceivedGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GenericAckReceived _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GenericAckReceived>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GenericAckReceivedGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FrameDecodedEvents::ParseTableT_ FrameDecodedEvents::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_._has_bits_),
      0, // no _extensions_
      107, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // 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<::webrtc::rtclog2::FrameDecodedEvents>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 7, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.timestamp_ms_)}},
      // optional fixed32 ssrc = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 9, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.ssrc_)}},
      // optional int64 render_time_ms = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 8, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.render_time_ms_)}},
      // optional int32 width = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 10, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.width_)}},
      // optional int32 height = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 11, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.height_)}},
      // optional .webrtc.rtclog2.FrameDecodedEvents.Codec codec = 6;
      {::_pbi::TcParser::FastEr0S1,
       {48, 12, 6,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.codec_)}},
      // optional uint32 qp = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 13, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.qp_)}},
      // optional bytes width_deltas = 104;
      {::_pbi::TcParser::FastBS2,
       {1730, 3, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.width_deltas_)}},
      // optional bytes height_deltas = 105;
      {::_pbi::TcParser::FastBS2,
       {1738, 4, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.height_deltas_)}},
      // optional bytes codec_deltas = 106;
      {::_pbi::TcParser::FastBS2,
       {1746, 5, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.codec_deltas_)}},
      // optional bytes qp_deltas = 107;
      {::_pbi::TcParser::FastBS2,
       {1754, 6, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.qp_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 number_of_deltas = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 14, 0,
        PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.number_of_deltas_)}},
    }}, {{
      101, 0, 1,
      65408, 8,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional fixed32 ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.ssrc_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional int64 render_time_ms = 3;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.render_time_ms_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 width = 4;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.width_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 height = 5;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.height_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .webrtc.rtclog2.FrameDecodedEvents.Codec codec = 6;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.codec_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional uint32 qp = 7;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.qp_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 15;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes ssrc_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.ssrc_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes render_time_ms_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.render_time_ms_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes width_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.width_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes height_deltas = 105;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.height_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes codec_deltas = 106;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.codec_deltas_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes qp_deltas = 107;
      {PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.qp_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {0, 6},
    }},
    {{
    }},
  };
}


inline constexpr FrameDecodedEvents::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ssrc_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        render_time_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        width_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        height_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        codec_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        qp_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        render_time_ms_{::int64_t{0}},
        ssrc_{0u},
        width_{0},
        height_{0},
        codec_{static_cast< ::webrtc::rtclog2::FrameDecodedEvents_Codec >(0)},
        qp_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr FrameDecodedEvents::FrameDecodedEvents(::_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 FrameDecodedEvents::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FrameDecodedEvents(arena);
}
constexpr auto FrameDecodedEvents::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FrameDecodedEvents), alignof(FrameDecodedEvents));
}
constexpr auto FrameDecodedEvents::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
          &FrameDecodedEvents::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FrameDecodedEvents>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FrameDecodedEvents::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FrameDecodedEvents>(), &FrameDecodedEvents::ByteSizeLong,
              &FrameDecodedEvents::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.FrameDecodedEvents",
  };
}
struct FrameDecodedEventsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FrameDecodedEventsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FrameDecodedEvents_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FrameDecodedEvents::InternalGenerateClassData_(
            _default, &FrameDecodedEvents_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FrameDecodedEvents>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FrameDecodedEventsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FrameDecodedEvents _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FrameDecodedEvents>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FrameDecodedEventsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST FrameDecodedEventsGlobalsTypeInternal FrameDecodedEvents_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* FrameDecodedEvents_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return FrameDecodedEvents_globals_.GetClassData();
#else
  return FrameDecodedEvents_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class Event::_Internal {
 public:
};

constexpr Event::ParseTableT_ Event::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Event,
                            _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<::webrtc::rtclog2::Event>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr Event::Event(::_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 Event::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Event(arena);
}
constexpr auto Event::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Event), alignof(Event));
}
constexpr auto Event::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
          &Event::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Event>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Event::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Event>(), &Event::ByteSizeLong,
              &Event::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Event, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.Event",
  };
}
struct EventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Event_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Event::InternalGenerateClassData_(
            _default, &Event_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Event>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Event _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Event>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr EndLogEvent::ParseTableT_ EndLogEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EndLogEvent, _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
      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<::webrtc::rtclog2::EndLogEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(EndLogEvent, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(EndLogEvent, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr EndLogEvent::EndLogEvent(::_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 EndLogEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EndLogEvent(arena);
}
constexpr auto EndLogEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(EndLogEvent), alignof(EndLogEvent));
}
constexpr auto EndLogEvent::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
          &EndLogEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EndLogEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EndLogEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EndLogEvent>(), &EndLogEvent::ByteSizeLong,
              &EndLogEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EndLogEvent, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.EndLogEvent",
  };
}
struct EndLogEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EndLogEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EndLogEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EndLogEvent::InternalGenerateClassData_(
            _default, &EndLogEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EndLogEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EndLogEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EndLogEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EndLogEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EndLogEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DtlsWritableState::ParseTableT_ DtlsWritableState::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DtlsWritableState, _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<::webrtc::rtclog2::DtlsWritableState>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bool writable = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_.writable_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool writable = 2;
      {PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_.writable_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DtlsWritableState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        writable_{false} {}

template <typename>
constexpr DtlsWritableState::DtlsWritableState(::_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 DtlsWritableState::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DtlsWritableState(arena);
}
constexpr auto DtlsWritableState::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DtlsWritableState), alignof(DtlsWritableState));
}
constexpr auto DtlsWritableState::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
          &DtlsWritableState::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DtlsWritableState>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DtlsWritableState::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DtlsWritableState>(), &DtlsWritableState::ByteSizeLong,
              &DtlsWritableState::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.DtlsWritableState",
  };
}
struct DtlsWritableStateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DtlsWritableStateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DtlsWritableState_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DtlsWritableState::InternalGenerateClassData_(
            _default, &DtlsWritableState_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DtlsWritableState>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DtlsWritableStateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DtlsWritableState _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DtlsWritableState>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DtlsWritableStateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DtlsTransportStateEvent::ParseTableT_ DtlsTransportStateEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _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<::webrtc::rtclog2::DtlsTransportStateEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .webrtc.rtclog2.DtlsTransportStateEvent.DtlsTransportState dtls_transport_state = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 5,
        PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_.dtls_transport_state_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .webrtc.rtclog2.DtlsTransportStateEvent.DtlsTransportState dtls_transport_state = 2;
      {PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_.dtls_transport_state_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr DtlsTransportStateEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        dtls_transport_state_{static_cast< ::webrtc::rtclog2::DtlsTransportStateEvent_DtlsTransportState >(0)} {}

template <typename>
constexpr DtlsTransportStateEvent::DtlsTransportStateEvent(::_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 DtlsTransportStateEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DtlsTransportStateEvent(arena);
}
constexpr auto DtlsTransportStateEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DtlsTransportStateEvent), alignof(DtlsTransportStateEvent));
}
constexpr auto DtlsTransportStateEvent::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
          &DtlsTransportStateEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DtlsTransportStateEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DtlsTransportStateEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DtlsTransportStateEvent>(), &DtlsTransportStateEvent::ByteSizeLong,
              &DtlsTransportStateEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.DtlsTransportStateEvent",
  };
}
struct DtlsTransportStateEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DtlsTransportStateEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DtlsTransportStateEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DtlsTransportStateEvent::InternalGenerateClassData_(
            _default, &DtlsTransportStateEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DtlsTransportStateEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DtlsTransportStateEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DtlsTransportStateEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DtlsTransportStateEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DtlsTransportStateEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DependencyDescriptorsWireInfo::ParseTableT_ DependencyDescriptorsWireInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // 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<::webrtc::rtclog2::DependencyDescriptorsWireInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 start_end_bit = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.start_end_bit_)}},
      // optional bytes start_end_bit_deltas = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.start_end_bit_deltas_)}},
      // optional uint32 template_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.template_id_)}},
      // optional bytes template_id_deltas = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.template_id_deltas_)}},
      // optional uint32 frame_id = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.frame_id_)}},
      // optional bytes frame_id_deltas = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.frame_id_deltas_)}},
      // optional bytes extended_infos = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 3, 0,
        PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.extended_infos_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional uint32 start_end_bit = 1;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.start_end_bit_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes start_end_bit_deltas = 2;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.start_end_bit_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional uint32 template_id = 3;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.template_id_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes template_id_deltas = 4;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.template_id_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional uint32 frame_id = 5;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.frame_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes frame_id_deltas = 6;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.frame_id_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes extended_infos = 7;
      {PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.extended_infos_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DependencyDescriptorsWireInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        start_end_bit_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        template_id_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        frame_id_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        extended_infos_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_end_bit_{0u},
        template_id_{0u},
        frame_id_{0u} {}

template <typename>
constexpr DependencyDescriptorsWireInfo::DependencyDescriptorsWireInfo(::_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 DependencyDescriptorsWireInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DependencyDescriptorsWireInfo(arena);
}
constexpr auto DependencyDescriptorsWireInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(DependencyDescriptorsWireInfo), alignof(DependencyDescriptorsWireInfo));
}
constexpr auto DependencyDescriptorsWireInfo::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
          &DependencyDescriptorsWireInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DependencyDescriptorsWireInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DependencyDescriptorsWireInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DependencyDescriptorsWireInfo>(), &DependencyDescriptorsWireInfo::ByteSizeLong,
              &DependencyDescriptorsWireInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.DependencyDescriptorsWireInfo",
  };
}
struct DependencyDescriptorsWireInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DependencyDescriptorsWireInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DependencyDescriptorsWireInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DependencyDescriptorsWireInfo::InternalGenerateClassData_(
            _default, &DependencyDescriptorsWireInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DependencyDescriptorsWireInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DependencyDescriptorsWireInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DependencyDescriptorsWireInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DependencyDescriptorsWireInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DelayBasedBweUpdates::ParseTableT_ DelayBasedBweUpdates::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_._has_bits_),
      0, // no _extensions_
      103, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // 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<::webrtc::rtclog2::DelayBasedBweUpdates>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.timestamp_ms_)}},
      // optional uint32 bitrate_bps = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.bitrate_bps_)}},
      // optional .webrtc.rtclog2.DelayBasedBweUpdates.DetectorState detector_state = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 5, 3,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.detector_state_)}},
      // optional uint32 number_of_deltas = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 6, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.number_of_deltas_)}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 0, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.timestamp_ms_deltas_)}},
      // optional bytes bitrate_bps_deltas = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 1, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.bitrate_bps_deltas_)}},
      // optional bytes detector_state_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 2, 0,
        PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.detector_state_deltas_)}},
    }}, {{
      101, 0, 1,
      65528, 4,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 bitrate_bps = 2;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.bitrate_bps_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.DelayBasedBweUpdates.DetectorState detector_state = 3;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.detector_state_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional uint32 number_of_deltas = 4;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes bitrate_bps_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.bitrate_bps_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes detector_state_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.detector_state_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr DelayBasedBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bitrate_bps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        detector_state_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        bitrate_bps_{0u},
        detector_state_{static_cast< ::webrtc::rtclog2::DelayBasedBweUpdates_DetectorState >(0)},
        number_of_deltas_{0u} {}

template <typename>
constexpr DelayBasedBweUpdates::DelayBasedBweUpdates(::_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 DelayBasedBweUpdates::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DelayBasedBweUpdates(arena);
}
constexpr auto DelayBasedBweUpdates::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(DelayBasedBweUpdates), alignof(DelayBasedBweUpdates));
}
constexpr auto DelayBasedBweUpdates::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
          &DelayBasedBweUpdates::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DelayBasedBweUpdates>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DelayBasedBweUpdates::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DelayBasedBweUpdates>(), &DelayBasedBweUpdates::ByteSizeLong,
              &DelayBasedBweUpdates::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.DelayBasedBweUpdates",
  };
}
struct DelayBasedBweUpdatesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DelayBasedBweUpdatesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DelayBasedBweUpdates_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DelayBasedBweUpdates::InternalGenerateClassData_(
            _default, &DelayBasedBweUpdates_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DelayBasedBweUpdates>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DelayBasedBweUpdatesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DelayBasedBweUpdates _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DelayBasedBweUpdates>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdatesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BweProbeResultSuccess::ParseTableT_ BweProbeResultSuccess::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _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
      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<::webrtc::rtclog2::BweProbeResultSuccess>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.timestamp_ms_)}},
      // optional uint32 id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.id_)}},
      // optional uint32 bitrate_bps = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.bitrate_bps_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 id = 2;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 bitrate_bps = 3;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.bitrate_bps_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BweProbeResultSuccess::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        id_{0u},
        bitrate_bps_{0u} {}

template <typename>
constexpr BweProbeResultSuccess::BweProbeResultSuccess(::_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 BweProbeResultSuccess::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BweProbeResultSuccess(arena);
}
constexpr auto BweProbeResultSuccess::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BweProbeResultSuccess), alignof(BweProbeResultSuccess));
}
constexpr auto BweProbeResultSuccess::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
          &BweProbeResultSuccess::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BweProbeResultSuccess>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BweProbeResultSuccess::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BweProbeResultSuccess>(), &BweProbeResultSuccess::ByteSizeLong,
              &BweProbeResultSuccess::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.BweProbeResultSuccess",
  };
}
struct BweProbeResultSuccessGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BweProbeResultSuccessGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BweProbeResultSuccess_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BweProbeResultSuccess::InternalGenerateClassData_(
            _default, &BweProbeResultSuccess_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BweProbeResultSuccess>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BweProbeResultSuccessGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BweProbeResultSuccess _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BweProbeResultSuccess>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BweProbeResultSuccessGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BweProbeResultFailure::ParseTableT_ BweProbeResultFailure::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _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<::webrtc::rtclog2::BweProbeResultFailure>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.timestamp_ms_)}},
      // optional uint32 id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.id_)}},
      // optional .webrtc.rtclog2.BweProbeResultFailure.FailureReason failure = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 3,
        PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.failure_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 id = 2;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.BweProbeResultFailure.FailureReason failure = 3;
      {PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.failure_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr BweProbeResultFailure::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        id_{0u},
        failure_{static_cast< ::webrtc::rtclog2::BweProbeResultFailure_FailureReason >(0)} {}

template <typename>
constexpr BweProbeResultFailure::BweProbeResultFailure(::_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 BweProbeResultFailure::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BweProbeResultFailure(arena);
}
constexpr auto BweProbeResultFailure::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BweProbeResultFailure), alignof(BweProbeResultFailure));
}
constexpr auto BweProbeResultFailure::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
          &BweProbeResultFailure::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BweProbeResultFailure>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BweProbeResultFailure::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BweProbeResultFailure>(), &BweProbeResultFailure::ByteSizeLong,
              &BweProbeResultFailure::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.BweProbeResultFailure",
  };
}
struct BweProbeResultFailureGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BweProbeResultFailureGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BweProbeResultFailure_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BweProbeResultFailure::InternalGenerateClassData_(
            _default, &BweProbeResultFailure_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BweProbeResultFailure>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BweProbeResultFailureGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BweProbeResultFailure _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BweProbeResultFailure>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BweProbeResultFailureGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BweProbeCluster::ParseTableT_ BweProbeCluster::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BweProbeCluster, _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
      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<::webrtc::rtclog2::BweProbeCluster>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.timestamp_ms_)}},
      // optional uint32 id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.id_)}},
      // optional uint32 bitrate_bps = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.bitrate_bps_)}},
      // optional uint32 min_packets = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.min_packets_)}},
      // optional uint32 min_bytes = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.min_bytes_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 id = 2;
      {PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 bitrate_bps = 3;
      {PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.bitrate_bps_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 min_packets = 4;
      {PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.min_packets_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 min_bytes = 5;
      {PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.min_bytes_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BweProbeCluster::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        id_{0u},
        bitrate_bps_{0u},
        min_packets_{0u},
        min_bytes_{0u} {}

template <typename>
constexpr BweProbeCluster::BweProbeCluster(::_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 BweProbeCluster::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BweProbeCluster(arena);
}
constexpr auto BweProbeCluster::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BweProbeCluster), alignof(BweProbeCluster));
}
constexpr auto BweProbeCluster::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
          &BweProbeCluster::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BweProbeCluster>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BweProbeCluster::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BweProbeCluster>(), &BweProbeCluster::ByteSizeLong,
              &BweProbeCluster::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.BweProbeCluster",
  };
}
struct BweProbeClusterGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BweProbeClusterGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BweProbeCluster_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BweProbeCluster::InternalGenerateClassData_(
            _default, &BweProbeCluster_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BweProbeCluster>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BweProbeClusterGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BweProbeCluster _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BweProbeCluster>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BweProbeClusterGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BeginLogEvent::ParseTableT_ BeginLogEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BeginLogEvent, _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
      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<::webrtc::rtclog2::BeginLogEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.timestamp_ms_)}},
      // optional uint32 version = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.version_)}},
      // optional int64 utc_time_ms = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.utc_time_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 version = 2;
      {PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional int64 utc_time_ms = 3;
      {PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.utc_time_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BeginLogEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        utc_time_ms_{::int64_t{0}},
        version_{0u} {}

template <typename>
constexpr BeginLogEvent::BeginLogEvent(::_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 BeginLogEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BeginLogEvent(arena);
}
constexpr auto BeginLogEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BeginLogEvent), alignof(BeginLogEvent));
}
constexpr auto BeginLogEvent::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
          &BeginLogEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BeginLogEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BeginLogEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BeginLogEvent>(), &BeginLogEvent::ByteSizeLong,
              &BeginLogEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.BeginLogEvent",
  };
}
struct BeginLogEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BeginLogEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BeginLogEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BeginLogEvent::InternalGenerateClassData_(
            _default, &BeginLogEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BeginLogEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BeginLogEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BeginLogEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BeginLogEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BeginLogEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AudioPlayoutEvents::ParseTableT_ AudioPlayoutEvents::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_._has_bits_),
      0, // no _extensions_
      102, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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<::webrtc::rtclog2::AudioPlayoutEvents>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.timestamp_ms_)}},
      // optional uint32 local_ssrc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.local_ssrc_)}},
      // optional uint32 number_of_deltas = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.number_of_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bytes timestamp_ms_deltas = 101;
      {::_pbi::TcParser::FastBS2,
       {1706, 0, 0,
        PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.timestamp_ms_deltas_)}},
      // optional bytes local_ssrc_deltas = 102;
      {::_pbi::TcParser::FastBS2,
       {1714, 1, 0,
        PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.local_ssrc_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 1,
      65532, 3,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 local_ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.local_ssrc_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 3;
      {PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes local_ssrc_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.local_ssrc_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AudioPlayoutEvents::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        local_ssrc_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        local_ssrc_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr AudioPlayoutEvents::AudioPlayoutEvents(::_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 AudioPlayoutEvents::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AudioPlayoutEvents(arena);
}
constexpr auto AudioPlayoutEvents::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AudioPlayoutEvents), alignof(AudioPlayoutEvents));
}
constexpr auto AudioPlayoutEvents::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
          &AudioPlayoutEvents::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AudioPlayoutEvents>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AudioPlayoutEvents::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AudioPlayoutEvents>(), &AudioPlayoutEvents::ByteSizeLong,
              &AudioPlayoutEvents::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.AudioPlayoutEvents",
  };
}
struct AudioPlayoutEventsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AudioPlayoutEventsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AudioPlayoutEvents_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AudioPlayoutEvents::InternalGenerateClassData_(
            _default, &AudioPlayoutEvents_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AudioPlayoutEvents>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AudioPlayoutEventsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AudioPlayoutEvents _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AudioPlayoutEvents>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AudioPlayoutEventsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AudioNetworkAdaptations::ParseTableT_ AudioNetworkAdaptations::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_._has_bits_),
      0, // no _extensions_
      107, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // 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<::webrtc::rtclog2::AudioNetworkAdaptations>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 7, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.timestamp_ms_)}},
      // optional int32 bitrate_bps = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 8, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.bitrate_bps_)}},
      // optional int32 frame_length_ms = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 9, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.frame_length_ms_)}},
      // optional uint32 uplink_packet_loss_fraction = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 10, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.uplink_packet_loss_fraction_)}},
      // optional bool enable_fec = 5;
      {::_pbi::TcParser::FastV8S1,
       {40, 11, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_fec_)}},
      // optional bool enable_dtx = 6;
      {::_pbi::TcParser::FastV8S1,
       {48, 12, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_dtx_)}},
      // optional uint32 num_channels = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 13, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.num_channels_)}},
      // optional uint32 number_of_deltas = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 14, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.number_of_deltas_)}},
      // optional bytes enable_fec_deltas = 105;
      {::_pbi::TcParser::FastBS2,
       {1738, 4, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_fec_deltas_)}},
      // optional bytes enable_dtx_deltas = 106;
      {::_pbi::TcParser::FastBS2,
       {1746, 5, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_dtx_deltas_)}},
      // optional bytes num_channels_deltas = 107;
      {::_pbi::TcParser::FastBS2,
       {1754, 6, 0,
        PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.num_channels_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 1,
      65408, 8,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 bitrate_bps = 2;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.bitrate_bps_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 frame_length_ms = 3;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.frame_length_ms_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 uplink_packet_loss_fraction = 4;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.uplink_packet_loss_fraction_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bool enable_fec = 5;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_fec_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool enable_dtx = 6;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_dtx_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 num_channels = 7;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.num_channels_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 8;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes bitrate_bps_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.bitrate_bps_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes frame_length_ms_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.frame_length_ms_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes uplink_packet_loss_fraction_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.uplink_packet_loss_fraction_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes enable_fec_deltas = 105;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_fec_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes enable_dtx_deltas = 106;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.enable_dtx_deltas_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes num_channels_deltas = 107;
      {PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.num_channels_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AudioNetworkAdaptations::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bitrate_bps_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        frame_length_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        uplink_packet_loss_fraction_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        enable_fec_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        enable_dtx_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        num_channels_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        timestamp_ms_{::int64_t{0}},
        bitrate_bps_{0},
        frame_length_ms_{0},
        uplink_packet_loss_fraction_{0u},
        enable_fec_{false},
        enable_dtx_{false},
        num_channels_{0u},
        number_of_deltas_{0u} {}

template <typename>
constexpr AudioNetworkAdaptations::AudioNetworkAdaptations(::_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 AudioNetworkAdaptations::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AudioNetworkAdaptations(arena);
}
constexpr auto AudioNetworkAdaptations::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AudioNetworkAdaptations), alignof(AudioNetworkAdaptations));
}
constexpr auto AudioNetworkAdaptations::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
          &AudioNetworkAdaptations::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AudioNetworkAdaptations>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AudioNetworkAdaptations::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AudioNetworkAdaptations>(), &AudioNetworkAdaptations::ByteSizeLong,
              &AudioNetworkAdaptations::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.AudioNetworkAdaptations",
  };
}
struct AudioNetworkAdaptationsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AudioNetworkAdaptationsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AudioNetworkAdaptations_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AudioNetworkAdaptations::InternalGenerateClassData_(
            _default, &AudioNetworkAdaptations_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AudioNetworkAdaptations>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AudioNetworkAdaptationsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AudioNetworkAdaptations _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AudioNetworkAdaptations>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptationsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AlrState::ParseTableT_ AlrState::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AlrState, _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<::webrtc::rtclog2::AlrState>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bool in_alr = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(AlrState, _impl_.in_alr_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(AlrState, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AlrState, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool in_alr = 2;
      {PROTOBUF_FIELD_OFFSET(AlrState, _impl_.in_alr_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AlrState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        in_alr_{false} {}

template <typename>
constexpr AlrState::AlrState(::_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 AlrState::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AlrState(arena);
}
constexpr auto AlrState::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AlrState), alignof(AlrState));
}
constexpr auto AlrState::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
          &AlrState::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AlrState>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AlrState::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AlrState>(), &AlrState::ByteSizeLong,
              &AlrState::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AlrState, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.AlrState",
  };
}
struct AlrStateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AlrStateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AlrState_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AlrState::InternalGenerateClassData_(
            _default, &AlrState_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AlrState>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AlrStateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AlrState _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AlrState>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AlrStateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr VideoSendStreamConfig::ParseTableT_ VideoSendStreamConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // 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<::webrtc::rtclog2::VideoSendStreamConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.header_extensions_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.timestamp_ms_)}},
      // optional uint32 ssrc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.ssrc_)}},
      // optional uint32 rtx_ssrc = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.rtx_ssrc_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.ssrc_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 rtx_ssrc = 3;
      {PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.rtx_ssrc_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
      {PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.header_extensions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RtpHeaderExtensionConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RtpHeaderExtensionConfig_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr VideoSendStreamConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_extensions_{nullptr},
        timestamp_ms_{::int64_t{0}},
        ssrc_{0u},
        rtx_ssrc_{0u} {}

template <typename>
constexpr VideoSendStreamConfig::VideoSendStreamConfig(::_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 VideoSendStreamConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) VideoSendStreamConfig(arena);
}
constexpr auto VideoSendStreamConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(VideoSendStreamConfig), alignof(VideoSendStreamConfig));
}
constexpr auto VideoSendStreamConfig::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
          &VideoSendStreamConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<VideoSendStreamConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &VideoSendStreamConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<VideoSendStreamConfig>(), &VideoSendStreamConfig::ByteSizeLong,
              &VideoSendStreamConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.VideoSendStreamConfig",
  };
}
struct VideoSendStreamConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr VideoSendStreamConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 VideoSendStreamConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(VideoSendStreamConfig::InternalGenerateClassData_(
            _default, &VideoSendStreamConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<VideoSendStreamConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~VideoSendStreamConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) VideoSendStreamConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<VideoSendStreamConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(VideoSendStreamConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr VideoRecvStreamConfig::ParseTableT_ VideoRecvStreamConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _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
      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<::webrtc::rtclog2::VideoRecvStreamConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.timestamp_ms_)}},
      // optional uint32 remote_ssrc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.remote_ssrc_)}},
      // optional uint32 local_ssrc = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.local_ssrc_)}},
      // optional uint32 rtx_ssrc = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.rtx_ssrc_)}},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.header_extensions_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 remote_ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.remote_ssrc_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 local_ssrc = 3;
      {PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.local_ssrc_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 rtx_ssrc = 4;
      {PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.rtx_ssrc_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
      {PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.header_extensions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RtpHeaderExtensionConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RtpHeaderExtensionConfig_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr VideoRecvStreamConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_extensions_{nullptr},
        timestamp_ms_{::int64_t{0}},
        remote_ssrc_{0u},
        local_ssrc_{0u},
        rtx_ssrc_{0u} {}

template <typename>
constexpr VideoRecvStreamConfig::VideoRecvStreamConfig(::_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 VideoRecvStreamConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) VideoRecvStreamConfig(arena);
}
constexpr auto VideoRecvStreamConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(VideoRecvStreamConfig), alignof(VideoRecvStreamConfig));
}
constexpr auto VideoRecvStreamConfig::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
          &VideoRecvStreamConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<VideoRecvStreamConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &VideoRecvStreamConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<VideoRecvStreamConfig>(), &VideoRecvStreamConfig::ByteSizeLong,
              &VideoRecvStreamConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.VideoRecvStreamConfig",
  };
}
struct VideoRecvStreamConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr VideoRecvStreamConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 VideoRecvStreamConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(VideoRecvStreamConfig::InternalGenerateClassData_(
            _default, &VideoRecvStreamConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<VideoRecvStreamConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~VideoRecvStreamConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) VideoRecvStreamConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<VideoRecvStreamConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr OutgoingRtpPackets::ParseTableT_ OutgoingRtpPackets::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_._has_bits_),
      0, // no _extensions_
      121, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4290787392,  // skipmap
      offsetof(ParseTableT_, field_entries),
      34,  // 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<::webrtc::rtclog2::OutgoingRtpPackets>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 8, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.timestamp_ms_)}},
      // optional bool marker = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 17, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.marker_)}},
      // optional uint32 payload_type = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 9, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_type_)}},
      // optional uint32 sequence_number = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 10, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.sequence_number_)}},
      // optional fixed32 rtp_timestamp = 5;
      {::_pbi::TcParser::FastF32S1,
       {45, 11, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtp_timestamp_)}},
      // optional fixed32 ssrc = 6;
      {::_pbi::TcParser::FastF32S1,
       {53, 12, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.ssrc_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 payload_size = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 13, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_size_)}},
      // optional uint32 header_size = 9;
      {::_pbi::TcParser::FastV32S1,
       {72, 14, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.header_size_)}},
      // optional uint32 padding_size = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 15, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.padding_size_)}},
      // optional uint32 number_of_deltas = 11;
      {::_pbi::TcParser::FastV32S1,
       {88, 16, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.number_of_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 transport_sequence_number = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 19, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transport_sequence_number_)}},
      // optional int32 transmission_time_offset = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 20, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transmission_time_offset_)}},
      // optional uint32 absolute_send_time = 17;
      {::_pbi::TcParser::FastV32S2,
       {392, 21, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.absolute_send_time_)}},
      // optional uint32 video_rotation = 18;
      {::_pbi::TcParser::FastV32S2,
       {400, 22, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.video_rotation_)}},
      // optional uint32 audio_level = 19;
      {::_pbi::TcParser::FastV32S2,
       {408, 23, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.audio_level_)}},
      // optional bool voice_activity = 20;
      {::_pbi::TcParser::FastV8S2,
       {416, 18, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.voice_activity_)}},
      // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
      {::_pbi::TcParser::FastMtS2,
       {426, 7, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.dependency_descriptor_)}},
      // optional uint32 rtx_original_sequence_number = 22;
      {::_pbi::TcParser::FastV32S2,
       {432, 24, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtx_original_sequence_number_)}},
      // optional bytes payload_type_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 0, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_type_deltas_)}},
      // optional bytes sequence_number_deltas = 104;
      {::_pbi::TcParser::FastBS2,
       {1730, 1, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.sequence_number_deltas_)}},
      // optional bytes rtp_timestamp_deltas = 105;
      {::_pbi::TcParser::FastBS2,
       {1738, 2, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtp_timestamp_deltas_)}},
      // optional bytes ssrc_deltas = 106;
      {::_pbi::TcParser::FastBS2,
       {1746, 3, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.ssrc_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bytes payload_size_deltas = 108;
      {::_pbi::TcParser::FastBS2,
       {1762, 4, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_size_deltas_)}},
      // optional bytes header_size_deltas = 109;
      {::_pbi::TcParser::FastBS2,
       {1770, 5, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.header_size_deltas_)}},
      // optional bytes padding_size_deltas = 110;
      {::_pbi::TcParser::FastBS2,
       {1778, 6, 0,
        PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.padding_size_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 2,
      15424, 18,
      65504, 29,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool marker = 2;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.marker_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 payload_type = 3;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_type_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 sequence_number = 4;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.sequence_number_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional fixed32 rtp_timestamp = 5;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtp_timestamp_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional fixed32 ssrc = 6;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.ssrc_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional uint32 payload_size = 8;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_size_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 header_size = 9;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.header_size_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 padding_size = 10;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.padding_size_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 11;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 transport_sequence_number = 15;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transport_sequence_number_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional int32 transmission_time_offset = 16;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transmission_time_offset_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 absolute_send_time = 17;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.absolute_send_time_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 video_rotation = 18;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.video_rotation_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 audio_level = 19;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.audio_level_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bool voice_activity = 20;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.voice_activity_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.dependency_descriptor_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional uint32 rtx_original_sequence_number = 22;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtx_original_sequence_number_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 25, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes marker_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.marker_deltas_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes payload_type_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_type_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes sequence_number_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.sequence_number_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes rtp_timestamp_deltas = 105;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtp_timestamp_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes ssrc_deltas = 106;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.ssrc_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes payload_size_deltas = 108;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.payload_size_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes header_size_deltas = 109;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.header_size_deltas_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes padding_size_deltas = 110;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.padding_size_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes transport_sequence_number_deltas = 115;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transport_sequence_number_deltas_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes transmission_time_offset_deltas = 116;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.transmission_time_offset_deltas_), _Internal::kHasBitsOffset + 28, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes absolute_send_time_deltas = 117;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.absolute_send_time_deltas_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes video_rotation_deltas = 118;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.video_rotation_deltas_), _Internal::kHasBitsOffset + 30, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes audio_level_deltas = 119;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.audio_level_deltas_), _Internal::kHasBitsOffset + 31, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes voice_activity_deltas = 120;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.voice_activity_deltas_), _Internal::kHasBitsOffset + 32, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes rtx_original_sequence_number_deltas = 121;
      {PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtx_original_sequence_number_deltas_), _Internal::kHasBitsOffset + 33, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::DependencyDescriptorsWireInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::DependencyDescriptorsWireInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr OutgoingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        payload_type_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rtp_timestamp_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ssrc_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        payload_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        header_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        padding_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dependency_descriptor_{nullptr},
        timestamp_ms_{::int64_t{0}},
        payload_type_{0u},
        sequence_number_{0u},
        rtp_timestamp_{0u},
        ssrc_{0u},
        payload_size_{0u},
        header_size_{0u},
        padding_size_{0u},
        number_of_deltas_{0u},
        marker_{false},
        voice_activity_{false},
        transport_sequence_number_{0u},
        transmission_time_offset_{0},
        absolute_send_time_{0u},
        video_rotation_{0u},
        audio_level_{0u},
        rtx_original_sequence_number_{0u},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        marker_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        transport_sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        transmission_time_offset_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        absolute_send_time_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        video_rotation_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        audio_level_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        voice_activity_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rtx_original_sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr OutgoingRtpPackets::OutgoingRtpPackets(::_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 OutgoingRtpPackets::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OutgoingRtpPackets(arena);
}
constexpr auto OutgoingRtpPackets::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OutgoingRtpPackets), alignof(OutgoingRtpPackets));
}
constexpr auto OutgoingRtpPackets::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
          &OutgoingRtpPackets::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<OutgoingRtpPackets>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &OutgoingRtpPackets::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<OutgoingRtpPackets>(), &OutgoingRtpPackets::ByteSizeLong,
              &OutgoingRtpPackets::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.OutgoingRtpPackets",
  };
}
struct OutgoingRtpPacketsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr OutgoingRtpPacketsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 OutgoingRtpPackets_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(OutgoingRtpPackets::InternalGenerateClassData_(
            _default, &OutgoingRtpPackets_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<OutgoingRtpPackets>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~OutgoingRtpPacketsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) OutgoingRtpPackets _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<OutgoingRtpPackets>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(OutgoingRtpPacketsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IncomingRtpPackets::ParseTableT_ IncomingRtpPackets::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_._has_bits_),
      0, // no _extensions_
      121, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4290787392,  // skipmap
      offsetof(ParseTableT_, field_entries),
      34,  // 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<::webrtc::rtclog2::IncomingRtpPackets>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 8, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.timestamp_ms_)}},
      // optional bool marker = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 17, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.marker_)}},
      // optional uint32 payload_type = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 9, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_type_)}},
      // optional uint32 sequence_number = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 10, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.sequence_number_)}},
      // optional fixed32 rtp_timestamp = 5;
      {::_pbi::TcParser::FastF32S1,
       {45, 11, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtp_timestamp_)}},
      // optional fixed32 ssrc = 6;
      {::_pbi::TcParser::FastF32S1,
       {53, 12, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.ssrc_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 payload_size = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 13, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_size_)}},
      // optional uint32 header_size = 9;
      {::_pbi::TcParser::FastV32S1,
       {72, 14, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.header_size_)}},
      // optional uint32 padding_size = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 15, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.padding_size_)}},
      // optional uint32 number_of_deltas = 11;
      {::_pbi::TcParser::FastV32S1,
       {88, 16, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.number_of_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 transport_sequence_number = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 19, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transport_sequence_number_)}},
      // optional int32 transmission_time_offset = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 20, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transmission_time_offset_)}},
      // optional uint32 absolute_send_time = 17;
      {::_pbi::TcParser::FastV32S2,
       {392, 21, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.absolute_send_time_)}},
      // optional uint32 video_rotation = 18;
      {::_pbi::TcParser::FastV32S2,
       {400, 22, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.video_rotation_)}},
      // optional uint32 audio_level = 19;
      {::_pbi::TcParser::FastV32S2,
       {408, 23, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.audio_level_)}},
      // optional bool voice_activity = 20;
      {::_pbi::TcParser::FastV8S2,
       {416, 18, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.voice_activity_)}},
      // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
      {::_pbi::TcParser::FastMtS2,
       {426, 7, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.dependency_descriptor_)}},
      // optional uint32 rtx_original_sequence_number = 22;
      {::_pbi::TcParser::FastV32S2,
       {432, 24, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtx_original_sequence_number_)}},
      // optional bytes payload_type_deltas = 103;
      {::_pbi::TcParser::FastBS2,
       {1722, 0, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_type_deltas_)}},
      // optional bytes sequence_number_deltas = 104;
      {::_pbi::TcParser::FastBS2,
       {1730, 1, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.sequence_number_deltas_)}},
      // optional bytes rtp_timestamp_deltas = 105;
      {::_pbi::TcParser::FastBS2,
       {1738, 2, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtp_timestamp_deltas_)}},
      // optional bytes ssrc_deltas = 106;
      {::_pbi::TcParser::FastBS2,
       {1746, 3, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.ssrc_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bytes payload_size_deltas = 108;
      {::_pbi::TcParser::FastBS2,
       {1762, 4, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_size_deltas_)}},
      // optional bytes header_size_deltas = 109;
      {::_pbi::TcParser::FastBS2,
       {1770, 5, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.header_size_deltas_)}},
      // optional bytes padding_size_deltas = 110;
      {::_pbi::TcParser::FastBS2,
       {1778, 6, 0,
        PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.padding_size_deltas_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      101, 0, 2,
      15424, 18,
      65504, 29,
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool marker = 2;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.marker_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 payload_type = 3;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_type_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 sequence_number = 4;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.sequence_number_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional fixed32 rtp_timestamp = 5;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtp_timestamp_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional fixed32 ssrc = 6;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.ssrc_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // optional uint32 payload_size = 8;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_size_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 header_size = 9;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.header_size_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 padding_size = 10;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.padding_size_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 number_of_deltas = 11;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.number_of_deltas_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 transport_sequence_number = 15;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transport_sequence_number_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional int32 transmission_time_offset = 16;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transmission_time_offset_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 absolute_send_time = 17;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.absolute_send_time_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 video_rotation = 18;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.video_rotation_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 audio_level = 19;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.audio_level_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bool voice_activity = 20;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.voice_activity_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.dependency_descriptor_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional uint32 rtx_original_sequence_number = 22;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtx_original_sequence_number_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional bytes timestamp_ms_deltas = 101;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.timestamp_ms_deltas_), _Internal::kHasBitsOffset + 25, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes marker_deltas = 102;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.marker_deltas_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes payload_type_deltas = 103;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_type_deltas_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes sequence_number_deltas = 104;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.sequence_number_deltas_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes rtp_timestamp_deltas = 105;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtp_timestamp_deltas_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes ssrc_deltas = 106;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.ssrc_deltas_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes payload_size_deltas = 108;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.payload_size_deltas_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes header_size_deltas = 109;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.header_size_deltas_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes padding_size_deltas = 110;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.padding_size_deltas_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes transport_sequence_number_deltas = 115;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transport_sequence_number_deltas_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes transmission_time_offset_deltas = 116;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.transmission_time_offset_deltas_), _Internal::kHasBitsOffset + 28, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes absolute_send_time_deltas = 117;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.absolute_send_time_deltas_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes video_rotation_deltas = 118;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.video_rotation_deltas_), _Internal::kHasBitsOffset + 30, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes audio_level_deltas = 119;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.audio_level_deltas_), _Internal::kHasBitsOffset + 31, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes voice_activity_deltas = 120;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.voice_activity_deltas_), _Internal::kHasBitsOffset + 32, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bytes rtx_original_sequence_number_deltas = 121;
      {PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtx_original_sequence_number_deltas_), _Internal::kHasBitsOffset + 33, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::DependencyDescriptorsWireInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::DependencyDescriptorsWireInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr IncomingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        payload_type_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rtp_timestamp_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ssrc_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        payload_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        header_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        padding_size_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dependency_descriptor_{nullptr},
        timestamp_ms_{::int64_t{0}},
        payload_type_{0u},
        sequence_number_{0u},
        rtp_timestamp_{0u},
        ssrc_{0u},
        payload_size_{0u},
        header_size_{0u},
        padding_size_{0u},
        number_of_deltas_{0u},
        marker_{false},
        voice_activity_{false},
        transport_sequence_number_{0u},
        transmission_time_offset_{0},
        absolute_send_time_{0u},
        video_rotation_{0u},
        audio_level_{0u},
        rtx_original_sequence_number_{0u},
        timestamp_ms_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        marker_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        transport_sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        transmission_time_offset_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        absolute_send_time_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        video_rotation_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        audio_level_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        voice_activity_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rtx_original_sequence_number_deltas_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr IncomingRtpPackets::IncomingRtpPackets(::_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 IncomingRtpPackets::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IncomingRtpPackets(arena);
}
constexpr auto IncomingRtpPackets::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(IncomingRtpPackets), alignof(IncomingRtpPackets));
}
constexpr auto IncomingRtpPackets::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
          &IncomingRtpPackets::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IncomingRtpPackets>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IncomingRtpPackets::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IncomingRtpPackets>(), &IncomingRtpPackets::ByteSizeLong,
              &IncomingRtpPackets::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.IncomingRtpPackets",
  };
}
struct IncomingRtpPacketsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IncomingRtpPacketsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IncomingRtpPackets_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IncomingRtpPackets::InternalGenerateClassData_(
            _default, &IncomingRtpPackets_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IncomingRtpPackets>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IncomingRtpPacketsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IncomingRtpPackets _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IncomingRtpPackets>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IncomingRtpPacketsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AudioSendStreamConfig::ParseTableT_ AudioSendStreamConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967284,  // 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<::webrtc::rtclog2::AudioSendStreamConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.header_extensions_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.timestamp_ms_)}},
      // optional uint32 ssrc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.ssrc_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.ssrc_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
      {PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.header_extensions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RtpHeaderExtensionConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RtpHeaderExtensionConfig_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AudioSendStreamConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_extensions_{nullptr},
        timestamp_ms_{::int64_t{0}},
        ssrc_{0u} {}

template <typename>
constexpr AudioSendStreamConfig::AudioSendStreamConfig(::_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 AudioSendStreamConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AudioSendStreamConfig(arena);
}
constexpr auto AudioSendStreamConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AudioSendStreamConfig), alignof(AudioSendStreamConfig));
}
constexpr auto AudioSendStreamConfig::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
          &AudioSendStreamConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AudioSendStreamConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AudioSendStreamConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AudioSendStreamConfig>(), &AudioSendStreamConfig::ByteSizeLong,
              &AudioSendStreamConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.AudioSendStreamConfig",
  };
}
struct AudioSendStreamConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AudioSendStreamConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AudioSendStreamConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AudioSendStreamConfig::InternalGenerateClassData_(
            _default, &AudioSendStreamConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AudioSendStreamConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AudioSendStreamConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AudioSendStreamConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AudioSendStreamConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AudioSendStreamConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AudioRecvStreamConfig::ParseTableT_ AudioRecvStreamConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // 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<::webrtc::rtclog2::AudioRecvStreamConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.timestamp_ms_)}},
      // optional uint32 remote_ssrc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.remote_ssrc_)}},
      // optional uint32 local_ssrc = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.local_ssrc_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.header_extensions_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint32 remote_ssrc = 2;
      {PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.remote_ssrc_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 local_ssrc = 3;
      {PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.local_ssrc_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
      {PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.header_extensions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RtpHeaderExtensionConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RtpHeaderExtensionConfig_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AudioRecvStreamConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_extensions_{nullptr},
        timestamp_ms_{::int64_t{0}},
        remote_ssrc_{0u},
        local_ssrc_{0u} {}

template <typename>
constexpr AudioRecvStreamConfig::AudioRecvStreamConfig(::_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 AudioRecvStreamConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AudioRecvStreamConfig(arena);
}
constexpr auto AudioRecvStreamConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AudioRecvStreamConfig), alignof(AudioRecvStreamConfig));
}
constexpr auto AudioRecvStreamConfig::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
          &AudioRecvStreamConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AudioRecvStreamConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AudioRecvStreamConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AudioRecvStreamConfig>(), &AudioRecvStreamConfig::ByteSizeLong,
              &AudioRecvStreamConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.AudioRecvStreamConfig",
  };
}
struct AudioRecvStreamConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AudioRecvStreamConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AudioRecvStreamConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AudioRecvStreamConfig::InternalGenerateClassData_(
            _default, &AudioRecvStreamConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AudioRecvStreamConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AudioRecvStreamConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AudioRecvStreamConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AudioRecvStreamConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr EventStream::ParseTableT_ EventStream::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EventStream, _impl_._has_bits_),
      0, // no _extensions_
      104, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      32640,  // skipmap
      offsetof(ParseTableT_, field_entries),
      31,  // num_field_entries
      31,  // 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<::webrtc::rtclog2::EventStream>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .webrtc.rtclog2.Event stream = 1 [deprecated = true];
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.stream_)}},
      // repeated .webrtc.rtclog2.IncomingRtpPackets incoming_rtp_packets = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.incoming_rtp_packets_)}},
      // repeated .webrtc.rtclog2.OutgoingRtpPackets outgoing_rtp_packets = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.outgoing_rtp_packets_)}},
      // repeated .webrtc.rtclog2.IncomingRtcpPackets incoming_rtcp_packets = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.incoming_rtcp_packets_)}},
      // repeated .webrtc.rtclog2.OutgoingRtcpPackets outgoing_rtcp_packets = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.outgoing_rtcp_packets_)}},
      // repeated .webrtc.rtclog2.AudioPlayoutEvents audio_playout_events = 6;
      {::_pbi::TcParser::FastMtR1,
       {50, 5, 5,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_playout_events_)}},
      // repeated .webrtc.rtclog2.FrameDecodedEvents frame_decoded_events = 7;
      {::_pbi::TcParser::FastMtR1,
       {58, 6, 6,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.frame_decoded_events_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .webrtc.rtclog2.BeginLogEvent begin_log_events = 16;
      {::_pbi::TcParser::FastMtR2,
       {386, 7, 7,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.begin_log_events_)}},
      // repeated .webrtc.rtclog2.EndLogEvent end_log_events = 17;
      {::_pbi::TcParser::FastMtR2,
       {394, 8, 8,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.end_log_events_)}},
      // repeated .webrtc.rtclog2.LossBasedBweUpdates loss_based_bwe_updates = 18;
      {::_pbi::TcParser::FastMtR2,
       {402, 9, 9,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.loss_based_bwe_updates_)}},
      // repeated .webrtc.rtclog2.DelayBasedBweUpdates delay_based_bwe_updates = 19;
      {::_pbi::TcParser::FastMtR2,
       {410, 10, 10,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.delay_based_bwe_updates_)}},
      // repeated .webrtc.rtclog2.AudioNetworkAdaptations audio_network_adaptations = 20;
      {::_pbi::TcParser::FastMtR2,
       {418, 11, 11,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_network_adaptations_)}},
      // repeated .webrtc.rtclog2.BweProbeCluster probe_clusters = 21;
      {::_pbi::TcParser::FastMtR2,
       {426, 12, 12,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_clusters_)}},
      // repeated .webrtc.rtclog2.BweProbeResultSuccess probe_success = 22;
      {::_pbi::TcParser::FastMtR2,
       {434, 13, 13,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_success_)}},
      // repeated .webrtc.rtclog2.BweProbeResultFailure probe_failure = 23;
      {::_pbi::TcParser::FastMtR2,
       {442, 14, 14,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_failure_)}},
      // repeated .webrtc.rtclog2.AlrState alr_states = 24;
      {::_pbi::TcParser::FastMtR2,
       {450, 15, 15,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.alr_states_)}},
      // repeated .webrtc.rtclog2.IceCandidatePairConfig ice_candidate_configs = 25;
      {::_pbi::TcParser::FastMtR2,
       {458, 16, 16,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.ice_candidate_configs_)}},
      // repeated .webrtc.rtclog2.IceCandidatePairEvent ice_candidate_events = 26;
      {::_pbi::TcParser::FastMtR2,
       {466, 17, 17,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.ice_candidate_events_)}},
      // repeated .webrtc.rtclog2.DtlsTransportStateEvent dtls_transport_state_events = 27;
      {::_pbi::TcParser::FastMtR2,
       {474, 18, 18,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.dtls_transport_state_events_)}},
      // repeated .webrtc.rtclog2.DtlsWritableState dtls_writable_states = 28;
      {::_pbi::TcParser::FastMtR2,
       {482, 19, 19,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.dtls_writable_states_)}},
      // repeated .webrtc.rtclog2.GenericPacketSent generic_packets_sent = 29 [deprecated = true];
      {::_pbi::TcParser::FastMtR2,
       {490, 20, 20,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_packets_sent_)}},
      // repeated .webrtc.rtclog2.GenericPacketReceived generic_packets_received = 30 [deprecated = true];
      {::_pbi::TcParser::FastMtR2,
       {498, 21, 21,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_packets_received_)}},
      // repeated .webrtc.rtclog2.GenericAckReceived generic_acks_received = 31 [deprecated = true];
      {::_pbi::TcParser::FastMtR2,
       {506, 22, 22,
        PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_acks_received_)}},
    }}, {{
      33, 0, 5,
      65528, 24,
      65535, 27,
      65535, 27,
      65535, 27,
      65295, 27,
      65535, 65535
    }}, {{
      // repeated .webrtc.rtclog2.Event stream = 1 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.stream_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.IncomingRtpPackets incoming_rtp_packets = 2;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.incoming_rtp_packets_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.OutgoingRtpPackets outgoing_rtp_packets = 3;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.outgoing_rtp_packets_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.IncomingRtcpPackets incoming_rtcp_packets = 4;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.incoming_rtcp_packets_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.OutgoingRtcpPackets outgoing_rtcp_packets = 5;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.outgoing_rtcp_packets_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.AudioPlayoutEvents audio_playout_events = 6;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_playout_events_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.FrameDecodedEvents frame_decoded_events = 7;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.frame_decoded_events_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.BeginLogEvent begin_log_events = 16;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.begin_log_events_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.EndLogEvent end_log_events = 17;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.end_log_events_), _Internal::kHasBitsOffset + 8, 8, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.LossBasedBweUpdates loss_based_bwe_updates = 18;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.loss_based_bwe_updates_), _Internal::kHasBitsOffset + 9, 9, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.DelayBasedBweUpdates delay_based_bwe_updates = 19;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.delay_based_bwe_updates_), _Internal::kHasBitsOffset + 10, 10, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.AudioNetworkAdaptations audio_network_adaptations = 20;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_network_adaptations_), _Internal::kHasBitsOffset + 11, 11, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.BweProbeCluster probe_clusters = 21;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_clusters_), _Internal::kHasBitsOffset + 12, 12, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.BweProbeResultSuccess probe_success = 22;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_success_), _Internal::kHasBitsOffset + 13, 13, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.BweProbeResultFailure probe_failure = 23;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.probe_failure_), _Internal::kHasBitsOffset + 14, 14, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.AlrState alr_states = 24;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.alr_states_), _Internal::kHasBitsOffset + 15, 15, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.IceCandidatePairConfig ice_candidate_configs = 25;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.ice_candidate_configs_), _Internal::kHasBitsOffset + 16, 16, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.IceCandidatePairEvent ice_candidate_events = 26;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.ice_candidate_events_), _Internal::kHasBitsOffset + 17, 17, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.DtlsTransportStateEvent dtls_transport_state_events = 27;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.dtls_transport_state_events_), _Internal::kHasBitsOffset + 18, 18, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.DtlsWritableState dtls_writable_states = 28;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.dtls_writable_states_), _Internal::kHasBitsOffset + 19, 19, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.GenericPacketSent generic_packets_sent = 29 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_packets_sent_), _Internal::kHasBitsOffset + 20, 20, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.GenericPacketReceived generic_packets_received = 30 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_packets_received_), _Internal::kHasBitsOffset + 21, 21, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.GenericAckReceived generic_acks_received = 31 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.generic_acks_received_), _Internal::kHasBitsOffset + 22, 22, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.RouteChange route_changes = 32;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.route_changes_), _Internal::kHasBitsOffset + 23, 23, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.RemoteEstimates remote_estimates = 33;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.remote_estimates_), _Internal::kHasBitsOffset + 24, 24, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.NetEqSetMinimumDelay neteq_set_minimum_delay = 34;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.neteq_set_minimum_delay_), _Internal::kHasBitsOffset + 25, 25, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.ScreamBweUpdates scream_bwe_updates = 35;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.scream_bwe_updates_), _Internal::kHasBitsOffset + 26, 26, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.AudioRecvStreamConfig audio_recv_stream_configs = 101;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_recv_stream_configs_), _Internal::kHasBitsOffset + 27, 27, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.AudioSendStreamConfig audio_send_stream_configs = 102;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.audio_send_stream_configs_), _Internal::kHasBitsOffset + 28, 28, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.VideoRecvStreamConfig video_recv_stream_configs = 103;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.video_recv_stream_configs_), _Internal::kHasBitsOffset + 29, 29, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .webrtc.rtclog2.VideoSendStreamConfig video_send_stream_configs = 104;
      {PROTOBUF_FIELD_OFFSET(EventStream, _impl_.video_send_stream_configs_), _Internal::kHasBitsOffset + 30, 30, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::Event>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::Event_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::IncomingRtpPackets>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::IncomingRtpPackets_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::OutgoingRtpPackets>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::OutgoingRtpPackets_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::IncomingRtcpPackets>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::IncomingRtcpPackets_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::OutgoingRtcpPackets>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::OutgoingRtcpPackets_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::AudioPlayoutEvents>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::AudioPlayoutEvents_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::FrameDecodedEvents>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::FrameDecodedEvents_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::BeginLogEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::BeginLogEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::EndLogEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::EndLogEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::LossBasedBweUpdates>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::LossBasedBweUpdates_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::DelayBasedBweUpdates>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::DelayBasedBweUpdates_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::AudioNetworkAdaptations>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::AudioNetworkAdaptations_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::BweProbeCluster>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::BweProbeCluster_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::BweProbeResultSuccess>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::BweProbeResultSuccess_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::BweProbeResultFailure>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::BweProbeResultFailure_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::AlrState>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::AlrState_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::IceCandidatePairConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::IceCandidatePairConfig_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::IceCandidatePairEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::IceCandidatePairEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::DtlsTransportStateEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::DtlsTransportStateEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::DtlsWritableState>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::DtlsWritableState_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::GenericPacketSent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::GenericPacketSent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::GenericPacketReceived>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::GenericPacketReceived_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::GenericAckReceived>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::GenericAckReceived_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RouteChange>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RouteChange_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::RemoteEstimates>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::RemoteEstimates_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::NetEqSetMinimumDelay>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::NetEqSetMinimumDelay_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::ScreamBweUpdates>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::ScreamBweUpdates_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::AudioRecvStreamConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::AudioRecvStreamConfig_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::AudioSendStreamConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::AudioSendStreamConfig_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::VideoRecvStreamConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::VideoRecvStreamConfig_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::webrtc::rtclog2::VideoSendStreamConfig>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::webrtc::rtclog2::VideoSendStreamConfig_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr EventStream::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        stream_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.stream_)>()
         }
        ,
        incoming_rtp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtp_packets_)>()
         }
        ,
        outgoing_rtp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtp_packets_)>()
         }
        ,
        incoming_rtcp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtcp_packets_)>()
         }
        ,
        outgoing_rtcp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtcp_packets_)>()
         }
        ,
        audio_playout_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_playout_events_)>()
         }
        ,
        frame_decoded_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.frame_decoded_events_)>()
         }
        ,
        begin_log_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.begin_log_events_)>()
         }
        ,
        end_log_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.end_log_events_)>()
         }
        ,
        loss_based_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.loss_based_bwe_updates_)>()
         }
        ,
        delay_based_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.delay_based_bwe_updates_)>()
         }
        ,
        audio_network_adaptations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_network_adaptations_)>()
         }
        ,
        probe_clusters_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_clusters_)>()
         }
        ,
        probe_success_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_success_)>()
         }
        ,
        probe_failure_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_failure_)>()
         }
        ,
        alr_states_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.alr_states_)>()
         }
        ,
        ice_candidate_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_configs_)>()
         }
        ,
        ice_candidate_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_events_)>()
         }
        ,
        dtls_transport_state_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_transport_state_events_)>()
         }
        ,
        dtls_writable_states_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_writable_states_)>()
         }
        ,
        generic_packets_sent_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_sent_)>()
         }
        ,
        generic_packets_received_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_received_)>()
         }
        ,
        generic_acks_received_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_acks_received_)>()
         }
        ,
        route_changes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.route_changes_)>()
         }
        ,
        remote_estimates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.remote_estimates_)>()
         }
        ,
        neteq_set_minimum_delay_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.neteq_set_minimum_delay_)>()
         }
        ,
        scream_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.scream_bwe_updates_)>()
         }
        ,
        audio_recv_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_recv_stream_configs_)>()
         }
        ,
        audio_send_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_send_stream_configs_)>()
         }
        ,
        video_recv_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_recv_stream_configs_)>()
         }
        ,
        video_send_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_send_stream_configs_)>()
         }
     {}

template <typename>
constexpr EventStream::EventStream(::_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 EventStream::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EventStream(arena);
}
constexpr auto EventStream::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EventStream), alignof(EventStream));
}
constexpr auto EventStream::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
          &EventStream::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EventStream>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EventStream::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EventStream>(), &EventStream::ByteSizeLong,
              &EventStream::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EventStream, _impl_._cached_size_),
          true,
      },
      "webrtc.rtclog2.EventStream",
  };
}
struct EventStreamGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EventStreamGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EventStream_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EventStream::InternalGenerateClassData_(
            _default, &EventStream_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EventStream>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EventStreamGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EventStream _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EventStream>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EventStreamGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST EventStreamGlobalsTypeInternal EventStream_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* EventStream_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return EventStream_globals_.GetClassData();
#else
  return EventStream_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace rtclog2
}  // namespace webrtc
namespace webrtc {
namespace rtclog2 {
PROTOBUF_CONSTINIT const uint32_t FrameDecodedEvents_Codec_internal_data_[] = {
    458752u, 0u, };
static const char FrameDecodedEvents_Codec_names[] = {
    "CODEC_AV1"
    "CODEC_GENERIC"
    "CODEC_H264"
    "CODEC_H265"
    "CODEC_UNKNOWN"
    "CODEC_VP8"
    "CODEC_VP9"
};

static const ::google::protobuf::internal::EnumEntry FrameDecodedEvents_Codec_entries[] = {
    {{&FrameDecodedEvents_Codec_names[0], 9}, 4},
    {{&FrameDecodedEvents_Codec_names[9], 13}, 1},
    {{&FrameDecodedEvents_Codec_names[22], 10}, 5},
    {{&FrameDecodedEvents_Codec_names[32], 10}, 6},
    {{&FrameDecodedEvents_Codec_names[42], 13}, 0},
    {{&FrameDecodedEvents_Codec_names[55], 9}, 2},
    {{&FrameDecodedEvents_Codec_names[64], 9}, 3},
};

static const int FrameDecodedEvents_Codec_entries_by_number[] = {
    4,  // 0 -> CODEC_UNKNOWN
    1,  // 1 -> CODEC_GENERIC
    5,  // 2 -> CODEC_VP8
    6,  // 3 -> CODEC_VP9
    0,  // 4 -> CODEC_AV1
    2,  // 5 -> CODEC_H264
    3,  // 6 -> CODEC_H265
};

bool FrameDecodedEvents_Codec_Parse(::absl::string_view name,
                                  FrameDecodedEvents_Codec* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      FrameDecodedEvents_Codec_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<FrameDecodedEvents_Codec>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    FrameDecodedEvents_Codec_strings[7] = {};

const ::std::string& FrameDecodedEvents_Codec_Name(FrameDecodedEvents_Codec value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FrameDecodedEvents_Codec_entries, FrameDecodedEvents_Codec_entries_by_number, 7,
      FrameDecodedEvents_Codec_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FrameDecodedEvents_Codec_entries,
                                  FrameDecodedEvents_Codec_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FrameDecodedEvents_Codec_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t DelayBasedBweUpdates_DetectorState_internal_data_[] = {
    262144u, 0u, };
static const char DelayBasedBweUpdates_DetectorState_names[] = {
    "BWE_NORMAL"
    "BWE_OVERUSING"
    "BWE_UNDERUSING"
    "BWE_UNKNOWN_STATE"
};

static const ::google::protobuf::internal::EnumEntry DelayBasedBweUpdates_DetectorState_entries[] = {
    {{&DelayBasedBweUpdates_DetectorState_names[0], 10}, 1},
    {{&DelayBasedBweUpdates_DetectorState_names[10], 13}, 3},
    {{&DelayBasedBweUpdates_DetectorState_names[23], 14}, 2},
    {{&DelayBasedBweUpdates_DetectorState_names[37], 17}, 0},
};

static const int DelayBasedBweUpdates_DetectorState_entries_by_number[] = {
    3,  // 0 -> BWE_UNKNOWN_STATE
    0,  // 1 -> BWE_NORMAL
    2,  // 2 -> BWE_UNDERUSING
    1,  // 3 -> BWE_OVERUSING
};

bool DelayBasedBweUpdates_DetectorState_Parse(::absl::string_view name,
                                  DelayBasedBweUpdates_DetectorState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      DelayBasedBweUpdates_DetectorState_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<DelayBasedBweUpdates_DetectorState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    DelayBasedBweUpdates_DetectorState_strings[4] = {};

const ::std::string& DelayBasedBweUpdates_DetectorState_Name(DelayBasedBweUpdates_DetectorState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      DelayBasedBweUpdates_DetectorState_entries, DelayBasedBweUpdates_DetectorState_entries_by_number, 4,
      DelayBasedBweUpdates_DetectorState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(DelayBasedBweUpdates_DetectorState_entries,
                                  DelayBasedBweUpdates_DetectorState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : DelayBasedBweUpdates_DetectorState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t BweProbeResultFailure_FailureReason_internal_data_[] = {
    262144u, 0u, };
static const char BweProbeResultFailure_FailureReason_names[] = {
    "INVALID_SEND_RECEIVE_INTERVAL"
    "INVALID_SEND_RECEIVE_RATIO"
    "TIMEOUT"
    "UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry BweProbeResultFailure_FailureReason_entries[] = {
    {{&BweProbeResultFailure_FailureReason_names[0], 29}, 1},
    {{&BweProbeResultFailure_FailureReason_names[29], 26}, 2},
    {{&BweProbeResultFailure_FailureReason_names[55], 7}, 3},
    {{&BweProbeResultFailure_FailureReason_names[62], 7}, 0},
};

static const int BweProbeResultFailure_FailureReason_entries_by_number[] = {
    3,  // 0 -> UNKNOWN
    0,  // 1 -> INVALID_SEND_RECEIVE_INTERVAL
    1,  // 2 -> INVALID_SEND_RECEIVE_RATIO
    2,  // 3 -> TIMEOUT
};

bool BweProbeResultFailure_FailureReason_Parse(::absl::string_view name,
                                  BweProbeResultFailure_FailureReason* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      BweProbeResultFailure_FailureReason_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<BweProbeResultFailure_FailureReason>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    BweProbeResultFailure_FailureReason_strings[4] = {};

const ::std::string& BweProbeResultFailure_FailureReason_Name(BweProbeResultFailure_FailureReason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      BweProbeResultFailure_FailureReason_entries, BweProbeResultFailure_FailureReason_entries_by_number, 4,
      BweProbeResultFailure_FailureReason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(BweProbeResultFailure_FailureReason_entries,
                                  BweProbeResultFailure_FailureReason_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : BweProbeResultFailure_FailureReason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairConfig_IceCandidatePairConfigType_internal_data_[] = {
    327680u, 0u, };
static const char IceCandidatePairConfig_IceCandidatePairConfigType_names[] = {
    "ADDED"
    "DESTROYED"
    "SELECTED"
    "UNKNOWN_CONFIG_TYPE"
    "UPDATED"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairConfig_IceCandidatePairConfigType_entries[] = {
    {{&IceCandidatePairConfig_IceCandidatePairConfigType_names[0], 5}, 1},
    {{&IceCandidatePairConfig_IceCandidatePairConfigType_names[5], 9}, 3},
    {{&IceCandidatePairConfig_IceCandidatePairConfigType_names[14], 8}, 4},
    {{&IceCandidatePairConfig_IceCandidatePairConfigType_names[22], 19}, 0},
    {{&IceCandidatePairConfig_IceCandidatePairConfigType_names[41], 7}, 2},
};

static const int IceCandidatePairConfig_IceCandidatePairConfigType_entries_by_number[] = {
    3,  // 0 -> UNKNOWN_CONFIG_TYPE
    0,  // 1 -> ADDED
    4,  // 2 -> UPDATED
    1,  // 3 -> DESTROYED
    2,  // 4 -> SELECTED
};

bool IceCandidatePairConfig_IceCandidatePairConfigType_Parse(::absl::string_view name,
                                  IceCandidatePairConfig_IceCandidatePairConfigType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IceCandidatePairConfig_IceCandidatePairConfigType_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<IceCandidatePairConfig_IceCandidatePairConfigType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IceCandidatePairConfig_IceCandidatePairConfigType_strings[5] = {};

const ::std::string& IceCandidatePairConfig_IceCandidatePairConfigType_Name(IceCandidatePairConfig_IceCandidatePairConfigType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairConfig_IceCandidatePairConfigType_entries, IceCandidatePairConfig_IceCandidatePairConfigType_entries_by_number, 5,
      IceCandidatePairConfig_IceCandidatePairConfigType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairConfig_IceCandidatePairConfigType_entries,
                                  IceCandidatePairConfig_IceCandidatePairConfigType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairConfig_IceCandidatePairConfigType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairConfig_IceCandidateType_internal_data_[] = {
    327680u, 0u, };
static const char IceCandidatePairConfig_IceCandidateType_names[] = {
    "LOCAL"
    "PRFLX"
    "RELAY"
    "STUN"
    "UNKNOWN_CANDIDATE_TYPE"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairConfig_IceCandidateType_entries[] = {
    {{&IceCandidatePairConfig_IceCandidateType_names[0], 5}, 1},
    {{&IceCandidatePairConfig_IceCandidateType_names[5], 5}, 3},
    {{&IceCandidatePairConfig_IceCandidateType_names[10], 5}, 4},
    {{&IceCandidatePairConfig_IceCandidateType_names[15], 4}, 2},
    {{&IceCandidatePairConfig_IceCandidateType_names[19], 22}, 0},
};

static const int IceCandidatePairConfig_IceCandidateType_entries_by_number[] = {
    4,  // 0 -> UNKNOWN_CANDIDATE_TYPE
    0,  // 1 -> LOCAL
    3,  // 2 -> STUN
    1,  // 3 -> PRFLX
    2,  // 4 -> RELAY
};

bool IceCandidatePairConfig_IceCandidateType_Parse(::absl::string_view name,
                                  IceCandidatePairConfig_IceCandidateType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IceCandidatePairConfig_IceCandidateType_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<IceCandidatePairConfig_IceCandidateType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IceCandidatePairConfig_IceCandidateType_strings[5] = {};

const ::std::string& IceCandidatePairConfig_IceCandidateType_Name(IceCandidatePairConfig_IceCandidateType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairConfig_IceCandidateType_entries, IceCandidatePairConfig_IceCandidateType_entries_by_number, 5,
      IceCandidatePairConfig_IceCandidateType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairConfig_IceCandidateType_entries,
                                  IceCandidatePairConfig_IceCandidateType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairConfig_IceCandidateType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairConfig_Protocol_internal_data_[] = {
    327680u, 0u, };
static const char IceCandidatePairConfig_Protocol_names[] = {
    "SSLTCP"
    "TCP"
    "TLS"
    "UDP"
    "UNKNOWN_PROTOCOL"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairConfig_Protocol_entries[] = {
    {{&IceCandidatePairConfig_Protocol_names[0], 6}, 3},
    {{&IceCandidatePairConfig_Protocol_names[6], 3}, 2},
    {{&IceCandidatePairConfig_Protocol_names[9], 3}, 4},
    {{&IceCandidatePairConfig_Protocol_names[12], 3}, 1},
    {{&IceCandidatePairConfig_Protocol_names[15], 16}, 0},
};

static const int IceCandidatePairConfig_Protocol_entries_by_number[] = {
    4,  // 0 -> UNKNOWN_PROTOCOL
    3,  // 1 -> UDP
    1,  // 2 -> TCP
    0,  // 3 -> SSLTCP
    2,  // 4 -> TLS
};

bool IceCandidatePairConfig_Protocol_Parse(::absl::string_view name,
                                  IceCandidatePairConfig_Protocol* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IceCandidatePairConfig_Protocol_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<IceCandidatePairConfig_Protocol>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IceCandidatePairConfig_Protocol_strings[5] = {};

const ::std::string& IceCandidatePairConfig_Protocol_Name(IceCandidatePairConfig_Protocol value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairConfig_Protocol_entries, IceCandidatePairConfig_Protocol_entries_by_number, 5,
      IceCandidatePairConfig_Protocol_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairConfig_Protocol_entries,
                                  IceCandidatePairConfig_Protocol_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairConfig_Protocol_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairConfig_AddressFamily_internal_data_[] = {
    196608u, 0u, };
static const char IceCandidatePairConfig_AddressFamily_names[] = {
    "IPV4"
    "IPV6"
    "UNKNOWN_ADDRESS_FAMILY"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairConfig_AddressFamily_entries[] = {
    {{&IceCandidatePairConfig_AddressFamily_names[0], 4}, 1},
    {{&IceCandidatePairConfig_AddressFamily_names[4], 4}, 2},
    {{&IceCandidatePairConfig_AddressFamily_names[8], 22}, 0},
};

static const int IceCandidatePairConfig_AddressFamily_entries_by_number[] = {
    2,  // 0 -> UNKNOWN_ADDRESS_FAMILY
    0,  // 1 -> IPV4
    1,  // 2 -> IPV6
};

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

const ::std::string& IceCandidatePairConfig_AddressFamily_Name(IceCandidatePairConfig_AddressFamily value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairConfig_AddressFamily_entries, IceCandidatePairConfig_AddressFamily_entries_by_number, 3,
      IceCandidatePairConfig_AddressFamily_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairConfig_AddressFamily_entries,
                                  IceCandidatePairConfig_AddressFamily_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairConfig_AddressFamily_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairConfig_NetworkType_internal_data_[] = {
    393216u, 0u, };
static const char IceCandidatePairConfig_NetworkType_names[] = {
    "CELLULAR"
    "ETHERNET"
    "LOOPBACK"
    "UNKNOWN_NETWORK_TYPE"
    "VPN"
    "WIFI"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairConfig_NetworkType_entries[] = {
    {{&IceCandidatePairConfig_NetworkType_names[0], 8}, 3},
    {{&IceCandidatePairConfig_NetworkType_names[8], 8}, 1},
    {{&IceCandidatePairConfig_NetworkType_names[16], 8}, 5},
    {{&IceCandidatePairConfig_NetworkType_names[24], 20}, 0},
    {{&IceCandidatePairConfig_NetworkType_names[44], 3}, 4},
    {{&IceCandidatePairConfig_NetworkType_names[47], 4}, 2},
};

static const int IceCandidatePairConfig_NetworkType_entries_by_number[] = {
    3,  // 0 -> UNKNOWN_NETWORK_TYPE
    1,  // 1 -> ETHERNET
    5,  // 2 -> WIFI
    0,  // 3 -> CELLULAR
    4,  // 4 -> VPN
    2,  // 5 -> LOOPBACK
};

bool IceCandidatePairConfig_NetworkType_Parse(::absl::string_view name,
                                  IceCandidatePairConfig_NetworkType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IceCandidatePairConfig_NetworkType_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<IceCandidatePairConfig_NetworkType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IceCandidatePairConfig_NetworkType_strings[6] = {};

const ::std::string& IceCandidatePairConfig_NetworkType_Name(IceCandidatePairConfig_NetworkType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairConfig_NetworkType_entries, IceCandidatePairConfig_NetworkType_entries_by_number, 6,
      IceCandidatePairConfig_NetworkType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairConfig_NetworkType_entries,
                                  IceCandidatePairConfig_NetworkType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairConfig_NetworkType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IceCandidatePairEvent_IceCandidatePairEventType_internal_data_[] = {
    327680u, 0u, };
static const char IceCandidatePairEvent_IceCandidatePairEventType_names[] = {
    "CHECK_RECEIVED"
    "CHECK_RESPONSE_RECEIVED"
    "CHECK_RESPONSE_SENT"
    "CHECK_SENT"
    "UNKNOWN_CHECK_TYPE"
};

static const ::google::protobuf::internal::EnumEntry IceCandidatePairEvent_IceCandidatePairEventType_entries[] = {
    {{&IceCandidatePairEvent_IceCandidatePairEventType_names[0], 14}, 2},
    {{&IceCandidatePairEvent_IceCandidatePairEventType_names[14], 23}, 4},
    {{&IceCandidatePairEvent_IceCandidatePairEventType_names[37], 19}, 3},
    {{&IceCandidatePairEvent_IceCandidatePairEventType_names[56], 10}, 1},
    {{&IceCandidatePairEvent_IceCandidatePairEventType_names[66], 18}, 0},
};

static const int IceCandidatePairEvent_IceCandidatePairEventType_entries_by_number[] = {
    4,  // 0 -> UNKNOWN_CHECK_TYPE
    3,  // 1 -> CHECK_SENT
    0,  // 2 -> CHECK_RECEIVED
    2,  // 3 -> CHECK_RESPONSE_SENT
    1,  // 4 -> CHECK_RESPONSE_RECEIVED
};

bool IceCandidatePairEvent_IceCandidatePairEventType_Parse(::absl::string_view name,
                                  IceCandidatePairEvent_IceCandidatePairEventType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IceCandidatePairEvent_IceCandidatePairEventType_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<IceCandidatePairEvent_IceCandidatePairEventType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IceCandidatePairEvent_IceCandidatePairEventType_strings[5] = {};

const ::std::string& IceCandidatePairEvent_IceCandidatePairEventType_Name(IceCandidatePairEvent_IceCandidatePairEventType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IceCandidatePairEvent_IceCandidatePairEventType_entries, IceCandidatePairEvent_IceCandidatePairEventType_entries_by_number, 5,
      IceCandidatePairEvent_IceCandidatePairEventType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IceCandidatePairEvent_IceCandidatePairEventType_entries,
                                  IceCandidatePairEvent_IceCandidatePairEventType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IceCandidatePairEvent_IceCandidatePairEventType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t DtlsTransportStateEvent_DtlsTransportState_internal_data_[] = {
    393216u, 0u, };
static const char DtlsTransportStateEvent_DtlsTransportState_names[] = {
    "DTLS_TRANSPORT_CLOSED"
    "DTLS_TRANSPORT_CONNECTED"
    "DTLS_TRANSPORT_CONNECTING"
    "DTLS_TRANSPORT_FAILED"
    "DTLS_TRANSPORT_NEW"
    "UNKNOWN_DTLS_TRANSPORT_STATE"
};

static const ::google::protobuf::internal::EnumEntry DtlsTransportStateEvent_DtlsTransportState_entries[] = {
    {{&DtlsTransportStateEvent_DtlsTransportState_names[0], 21}, 4},
    {{&DtlsTransportStateEvent_DtlsTransportState_names[21], 24}, 3},
    {{&DtlsTransportStateEvent_DtlsTransportState_names[45], 25}, 2},
    {{&DtlsTransportStateEvent_DtlsTransportState_names[70], 21}, 5},
    {{&DtlsTransportStateEvent_DtlsTransportState_names[91], 18}, 1},
    {{&DtlsTransportStateEvent_DtlsTransportState_names[109], 28}, 0},
};

static const int DtlsTransportStateEvent_DtlsTransportState_entries_by_number[] = {
    5,  // 0 -> UNKNOWN_DTLS_TRANSPORT_STATE
    4,  // 1 -> DTLS_TRANSPORT_NEW
    2,  // 2 -> DTLS_TRANSPORT_CONNECTING
    1,  // 3 -> DTLS_TRANSPORT_CONNECTED
    0,  // 4 -> DTLS_TRANSPORT_CLOSED
    3,  // 5 -> DTLS_TRANSPORT_FAILED
};

bool DtlsTransportStateEvent_DtlsTransportState_Parse(::absl::string_view name,
                                  DtlsTransportStateEvent_DtlsTransportState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      DtlsTransportStateEvent_DtlsTransportState_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<DtlsTransportStateEvent_DtlsTransportState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    DtlsTransportStateEvent_DtlsTransportState_strings[6] = {};

const ::std::string& DtlsTransportStateEvent_DtlsTransportState_Name(DtlsTransportStateEvent_DtlsTransportState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      DtlsTransportStateEvent_DtlsTransportState_entries, DtlsTransportStateEvent_DtlsTransportState_entries_by_number, 6,
      DtlsTransportStateEvent_DtlsTransportState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(DtlsTransportStateEvent_DtlsTransportState_entries,
                                  DtlsTransportStateEvent_DtlsTransportState_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : DtlsTransportStateEvent_DtlsTransportState_strings[idx].get();
}
// ===================================================================

EventStream::EventStream(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EventStream_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.EventStream)
}
PROTOBUF_NDEBUG_INLINE EventStream::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::EventStream& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        stream_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.stream_)>()
          , from.stream_
        }
        ,
        incoming_rtp_packets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtp_packets_)>()
          , from.incoming_rtp_packets_
        }
        ,
        outgoing_rtp_packets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtp_packets_)>()
          , from.outgoing_rtp_packets_
        }
        ,
        incoming_rtcp_packets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtcp_packets_)>()
          , from.incoming_rtcp_packets_
        }
        ,
        outgoing_rtcp_packets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtcp_packets_)>()
          , from.outgoing_rtcp_packets_
        }
        ,
        audio_playout_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_playout_events_)>()
          , from.audio_playout_events_
        }
        ,
        frame_decoded_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.frame_decoded_events_)>()
          , from.frame_decoded_events_
        }
        ,
        begin_log_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.begin_log_events_)>()
          , from.begin_log_events_
        }
        ,
        end_log_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.end_log_events_)>()
          , from.end_log_events_
        }
        ,
        loss_based_bwe_updates_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.loss_based_bwe_updates_)>()
          , from.loss_based_bwe_updates_
        }
        ,
        delay_based_bwe_updates_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.delay_based_bwe_updates_)>()
          , from.delay_based_bwe_updates_
        }
        ,
        audio_network_adaptations_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_network_adaptations_)>()
          , from.audio_network_adaptations_
        }
        ,
        probe_clusters_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_clusters_)>()
          , from.probe_clusters_
        }
        ,
        probe_success_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_success_)>()
          , from.probe_success_
        }
        ,
        probe_failure_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_failure_)>()
          , from.probe_failure_
        }
        ,
        alr_states_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.alr_states_)>()
          , from.alr_states_
        }
        ,
        ice_candidate_configs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_configs_)>()
          , from.ice_candidate_configs_
        }
        ,
        ice_candidate_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_events_)>()
          , from.ice_candidate_events_
        }
        ,
        dtls_transport_state_events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_transport_state_events_)>()
          , from.dtls_transport_state_events_
        }
        ,
        dtls_writable_states_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_writable_states_)>()
          , from.dtls_writable_states_
        }
        ,
        generic_packets_sent_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_sent_)>()
          , from.generic_packets_sent_
        }
        ,
        generic_packets_received_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_received_)>()
          , from.generic_packets_received_
        }
        ,
        generic_acks_received_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_acks_received_)>()
          , from.generic_acks_received_
        }
        ,
        route_changes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.route_changes_)>()
          , from.route_changes_
        }
        ,
        remote_estimates_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.remote_estimates_)>()
          , from.remote_estimates_
        }
        ,
        neteq_set_minimum_delay_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.neteq_set_minimum_delay_)>()
          , from.neteq_set_minimum_delay_
        }
        ,
        scream_bwe_updates_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.scream_bwe_updates_)>()
          , from.scream_bwe_updates_
        }
        ,
        audio_recv_stream_configs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_recv_stream_configs_)>()
          , from.audio_recv_stream_configs_
        }
        ,
        audio_send_stream_configs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_send_stream_configs_)>()
          , from.audio_send_stream_configs_
        }
        ,
        video_recv_stream_configs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_recv_stream_configs_)>()
          , from.video_recv_stream_configs_
        }
        ,
        video_send_stream_configs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::webrtc::rtclog2::EventStream,
              PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_send_stream_configs_)>()
          , from.video_send_stream_configs_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EventStream* 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:webrtc.rtclog2.EventStream)
}
PROTOBUF_NDEBUG_INLINE EventStream::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        stream_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.stream_)>()
         }
        ,
        incoming_rtp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtp_packets_)>()
         }
        ,
        outgoing_rtp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtp_packets_)>()
         }
        ,
        incoming_rtcp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.incoming_rtcp_packets_)>()
         }
        ,
        outgoing_rtcp_packets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.outgoing_rtcp_packets_)>()
         }
        ,
        audio_playout_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_playout_events_)>()
         }
        ,
        frame_decoded_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.frame_decoded_events_)>()
         }
        ,
        begin_log_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.begin_log_events_)>()
         }
        ,
        end_log_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.end_log_events_)>()
         }
        ,
        loss_based_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.loss_based_bwe_updates_)>()
         }
        ,
        delay_based_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.delay_based_bwe_updates_)>()
         }
        ,
        audio_network_adaptations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_network_adaptations_)>()
         }
        ,
        probe_clusters_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_clusters_)>()
         }
        ,
        probe_success_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_success_)>()
         }
        ,
        probe_failure_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.probe_failure_)>()
         }
        ,
        alr_states_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.alr_states_)>()
         }
        ,
        ice_candidate_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_configs_)>()
         }
        ,
        ice_candidate_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.ice_candidate_events_)>()
         }
        ,
        dtls_transport_state_events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_transport_state_events_)>()
         }
        ,
        dtls_writable_states_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.dtls_writable_states_)>()
         }
        ,
        generic_packets_sent_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_sent_)>()
         }
        ,
        generic_packets_received_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_packets_received_)>()
         }
        ,
        generic_acks_received_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.generic_acks_received_)>()
         }
        ,
        route_changes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.route_changes_)>()
         }
        ,
        remote_estimates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.remote_estimates_)>()
         }
        ,
        neteq_set_minimum_delay_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.neteq_set_minimum_delay_)>()
         }
        ,
        scream_bwe_updates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.scream_bwe_updates_)>()
         }
        ,
        audio_recv_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_recv_stream_configs_)>()
         }
        ,
        audio_send_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.audio_send_stream_configs_)>()
         }
        ,
        video_recv_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_recv_stream_configs_)>()
         }
        ,
        video_send_stream_configs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::webrtc::rtclog2::EventStream,
            PROTOBUF_FIELD_OFFSET(::webrtc::rtclog2::EventStream, _impl_.video_send_stream_configs_)>()
         }
     {}

inline void EventStream::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
EventStream::~EventStream() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.EventStream)
  SharedDtor(*this);
}
inline void EventStream::SharedDtor(MessageLite& self) {
  EventStream& this_ = static_cast<EventStream&>(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 EventStream_class_data_ =
    EventStream::InternalGenerateClassData_(EventStream_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EventStream::GetClassData() const {
  return EventStream_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EventStream::GetClassData() const {
  return EventStream_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EventStream::ParseTableT_
    EventStream::_table_ =
        EventStream::InternalGenerateParseTable_(EventStream_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EventStream::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.EventStream)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.stream_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.incoming_rtp_packets_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.outgoing_rtp_packets_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.incoming_rtcp_packets_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.outgoing_rtcp_packets_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.audio_playout_events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.frame_decoded_events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.begin_log_events_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.end_log_events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.loss_based_bwe_updates_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.delay_based_bwe_updates_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.audio_network_adaptations_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _impl_.probe_clusters_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _impl_.probe_success_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _impl_.probe_failure_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _impl_.alr_states_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _impl_.ice_candidate_configs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _impl_.ice_candidate_events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _impl_.dtls_transport_state_events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _impl_.dtls_writable_states_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _impl_.generic_packets_sent_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _impl_.generic_packets_received_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _impl_.generic_acks_received_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _impl_.route_changes_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x7f000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _impl_.remote_estimates_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _impl_.neteq_set_minimum_delay_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _impl_.scream_bwe_updates_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _impl_.audio_recv_stream_configs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _impl_.audio_send_stream_configs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _impl_.video_recv_stream_configs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _impl_.video_send_stream_configs_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .webrtc.rtclog2.Event stream = 1 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_stream_size());
         i < n; i++) {
      const auto& repfield = this_._internal_stream().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.IncomingRtpPackets incoming_rtp_packets = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_incoming_rtp_packets_size());
         i < n; i++) {
      const auto& repfield = this_._internal_incoming_rtp_packets().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.OutgoingRtpPackets outgoing_rtp_packets = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_outgoing_rtp_packets_size());
         i < n; i++) {
      const auto& repfield = this_._internal_outgoing_rtp_packets().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.IncomingRtcpPackets incoming_rtcp_packets = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_incoming_rtcp_packets_size());
         i < n; i++) {
      const auto& repfield = this_._internal_incoming_rtcp_packets().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.OutgoingRtcpPackets outgoing_rtcp_packets = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_outgoing_rtcp_packets_size());
         i < n; i++) {
      const auto& repfield = this_._internal_outgoing_rtcp_packets().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.AudioPlayoutEvents audio_playout_events = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audio_playout_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audio_playout_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              6, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.FrameDecodedEvents frame_decoded_events = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_frame_decoded_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_frame_decoded_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              7, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.BeginLogEvent begin_log_events = 16;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_begin_log_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_begin_log_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              16, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.EndLogEvent end_log_events = 17;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_end_log_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_end_log_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              17, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.LossBasedBweUpdates loss_based_bwe_updates = 18;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_loss_based_bwe_updates_size());
         i < n; i++) {
      const auto& repfield = this_._internal_loss_based_bwe_updates().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              18, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.DelayBasedBweUpdates delay_based_bwe_updates = 19;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_delay_based_bwe_updates_size());
         i < n; i++) {
      const auto& repfield = this_._internal_delay_based_bwe_updates().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              19, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.AudioNetworkAdaptations audio_network_adaptations = 20;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audio_network_adaptations_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audio_network_adaptations().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              20, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.BweProbeCluster probe_clusters = 21;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_probe_clusters_size());
         i < n; i++) {
      const auto& repfield = this_._internal_probe_clusters().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              21, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.BweProbeResultSuccess probe_success = 22;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_probe_success_size());
         i < n; i++) {
      const auto& repfield = this_._internal_probe_success().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              22, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.BweProbeResultFailure probe_failure = 23;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_probe_failure_size());
         i < n; i++) {
      const auto& repfield = this_._internal_probe_failure().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              23, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.AlrState alr_states = 24;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_alr_states_size());
         i < n; i++) {
      const auto& repfield = this_._internal_alr_states().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              24, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.IceCandidatePairConfig ice_candidate_configs = 25;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_ice_candidate_configs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_ice_candidate_configs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              25, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.IceCandidatePairEvent ice_candidate_events = 26;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_ice_candidate_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_ice_candidate_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              26, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.DtlsTransportStateEvent dtls_transport_state_events = 27;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_dtls_transport_state_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_dtls_transport_state_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              27, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.DtlsWritableState dtls_writable_states = 28;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_dtls_writable_states_size());
         i < n; i++) {
      const auto& repfield = this_._internal_dtls_writable_states().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              28, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.GenericPacketSent generic_packets_sent = 29 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_generic_packets_sent_size());
         i < n; i++) {
      const auto& repfield = this_._internal_generic_packets_sent().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              29, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.GenericPacketReceived generic_packets_received = 30 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_generic_packets_received_size());
         i < n; i++) {
      const auto& repfield = this_._internal_generic_packets_received().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              30, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.GenericAckReceived generic_acks_received = 31 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_generic_acks_received_size());
         i < n; i++) {
      const auto& repfield = this_._internal_generic_acks_received().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              31, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.RouteChange route_changes = 32;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_route_changes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_route_changes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              32, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.RemoteEstimates remote_estimates = 33;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_remote_estimates_size());
         i < n; i++) {
      const auto& repfield = this_._internal_remote_estimates().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              33, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.NetEqSetMinimumDelay neteq_set_minimum_delay = 34;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_neteq_set_minimum_delay_size());
         i < n; i++) {
      const auto& repfield = this_._internal_neteq_set_minimum_delay().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              34, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.ScreamBweUpdates scream_bwe_updates = 35;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_scream_bwe_updates_size());
         i < n; i++) {
      const auto& repfield = this_._internal_scream_bwe_updates().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              35, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.AudioRecvStreamConfig audio_recv_stream_configs = 101;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audio_recv_stream_configs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audio_recv_stream_configs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              101, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.AudioSendStreamConfig audio_send_stream_configs = 102;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audio_send_stream_configs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audio_send_stream_configs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              102, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.VideoRecvStreamConfig video_recv_stream_configs = 103;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_video_recv_stream_configs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_video_recv_stream_configs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              103, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .webrtc.rtclog2.VideoSendStreamConfig video_send_stream_configs = 104;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_video_send_stream_configs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_video_send_stream_configs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              104, 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:webrtc.rtclog2.EventStream)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EventStream::ByteSizeLong(const MessageLite& base) {
  const EventStream& this_ = static_cast<const EventStream&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EventStream::ByteSizeLong() const {
  const EventStream& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.EventStream)
  ::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, 0x000000ffU)) {
    // repeated .webrtc.rtclog2.Event stream = 1 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_stream_size();
      for (const auto& msg : this_._internal_stream()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.IncomingRtpPackets incoming_rtp_packets = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_incoming_rtp_packets_size();
      for (const auto& msg : this_._internal_incoming_rtp_packets()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.OutgoingRtpPackets outgoing_rtp_packets = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_outgoing_rtp_packets_size();
      for (const auto& msg : this_._internal_outgoing_rtp_packets()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.IncomingRtcpPackets incoming_rtcp_packets = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_incoming_rtcp_packets_size();
      for (const auto& msg : this_._internal_incoming_rtcp_packets()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.OutgoingRtcpPackets outgoing_rtcp_packets = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_outgoing_rtcp_packets_size();
      for (const auto& msg : this_._internal_outgoing_rtcp_packets()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.AudioPlayoutEvents audio_playout_events = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1UL * this_._internal_audio_playout_events_size();
      for (const auto& msg : this_._internal_audio_playout_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.FrameDecodedEvents frame_decoded_events = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1UL * this_._internal_frame_decoded_events_size();
      for (const auto& msg : this_._internal_frame_decoded_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.BeginLogEvent begin_log_events = 16;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2UL * this_._internal_begin_log_events_size();
      for (const auto& msg : this_._internal_begin_log_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // repeated .webrtc.rtclog2.EndLogEvent end_log_events = 17;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2UL * this_._internal_end_log_events_size();
      for (const auto& msg : this_._internal_end_log_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.LossBasedBweUpdates loss_based_bwe_updates = 18;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2UL * this_._internal_loss_based_bwe_updates_size();
      for (const auto& msg : this_._internal_loss_based_bwe_updates()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.DelayBasedBweUpdates delay_based_bwe_updates = 19;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2UL * this_._internal_delay_based_bwe_updates_size();
      for (const auto& msg : this_._internal_delay_based_bwe_updates()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.AudioNetworkAdaptations audio_network_adaptations = 20;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2UL * this_._internal_audio_network_adaptations_size();
      for (const auto& msg : this_._internal_audio_network_adaptations()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.BweProbeCluster probe_clusters = 21;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2UL * this_._internal_probe_clusters_size();
      for (const auto& msg : this_._internal_probe_clusters()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.BweProbeResultSuccess probe_success = 22;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2UL * this_._internal_probe_success_size();
      for (const auto& msg : this_._internal_probe_success()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.BweProbeResultFailure probe_failure = 23;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2UL * this_._internal_probe_failure_size();
      for (const auto& msg : this_._internal_probe_failure()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.AlrState alr_states = 24;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 2UL * this_._internal_alr_states_size();
      for (const auto& msg : this_._internal_alr_states()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // repeated .webrtc.rtclog2.IceCandidatePairConfig ice_candidate_configs = 25;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 2UL * this_._internal_ice_candidate_configs_size();
      for (const auto& msg : this_._internal_ice_candidate_configs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.IceCandidatePairEvent ice_candidate_events = 26;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2UL * this_._internal_ice_candidate_events_size();
      for (const auto& msg : this_._internal_ice_candidate_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.DtlsTransportStateEvent dtls_transport_state_events = 27;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2UL * this_._internal_dtls_transport_state_events_size();
      for (const auto& msg : this_._internal_dtls_transport_state_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.DtlsWritableState dtls_writable_states = 28;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2UL * this_._internal_dtls_writable_states_size();
      for (const auto& msg : this_._internal_dtls_writable_states()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.GenericPacketSent generic_packets_sent = 29 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2UL * this_._internal_generic_packets_sent_size();
      for (const auto& msg : this_._internal_generic_packets_sent()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.GenericPacketReceived generic_packets_received = 30 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2UL * this_._internal_generic_packets_received_size();
      for (const auto& msg : this_._internal_generic_packets_received()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.GenericAckReceived generic_acks_received = 31 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2UL * this_._internal_generic_acks_received_size();
      for (const auto& msg : this_._internal_generic_acks_received()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.RouteChange route_changes = 32;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2UL * this_._internal_route_changes_size();
      for (const auto& msg : this_._internal_route_changes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x7f000000U)) {
    // repeated .webrtc.rtclog2.RemoteEstimates remote_estimates = 33;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2UL * this_._internal_remote_estimates_size();
      for (const auto& msg : this_._internal_remote_estimates()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.NetEqSetMinimumDelay neteq_set_minimum_delay = 34;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2UL * this_._internal_neteq_set_minimum_delay_size();
      for (const auto& msg : this_._internal_neteq_set_minimum_delay()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.ScreamBweUpdates scream_bwe_updates = 35;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2UL * this_._internal_scream_bwe_updates_size();
      for (const auto& msg : this_._internal_scream_bwe_updates()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.AudioRecvStreamConfig audio_recv_stream_configs = 101;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2UL * this_._internal_audio_recv_stream_configs_size();
      for (const auto& msg : this_._internal_audio_recv_stream_configs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.AudioSendStreamConfig audio_send_stream_configs = 102;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2UL * this_._internal_audio_send_stream_configs_size();
      for (const auto& msg : this_._internal_audio_send_stream_configs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.VideoRecvStreamConfig video_recv_stream_configs = 103;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2UL * this_._internal_video_recv_stream_configs_size();
      for (const auto& msg : this_._internal_video_recv_stream_configs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .webrtc.rtclog2.VideoSendStreamConfig video_send_stream_configs = 104;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2UL * this_._internal_video_send_stream_configs_size();
      for (const auto& msg : this_._internal_video_send_stream_configs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  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 EventStream::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EventStream*>(&to_msg);
  auto& from = static_cast<const EventStream&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.EventStream)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_stream()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_stream());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_incoming_rtp_packets()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_incoming_rtp_packets());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_outgoing_rtp_packets()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_outgoing_rtp_packets());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_incoming_rtcp_packets()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_incoming_rtcp_packets());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_outgoing_rtcp_packets()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_outgoing_rtcp_packets());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_audio_playout_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audio_playout_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_frame_decoded_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_frame_decoded_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_begin_log_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_begin_log_events());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_mutable_end_log_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_end_log_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_mutable_loss_based_bwe_updates()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_loss_based_bwe_updates());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_mutable_delay_based_bwe_updates()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_delay_based_bwe_updates());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_mutable_audio_network_adaptations()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audio_network_adaptations());
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_internal_mutable_probe_clusters()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_probe_clusters());
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_internal_mutable_probe_success()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_probe_success());
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_internal_mutable_probe_failure()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_probe_failure());
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_internal_mutable_alr_states()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_alr_states());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_internal_mutable_ice_candidate_configs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_ice_candidate_configs());
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_internal_mutable_ice_candidate_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_ice_candidate_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_internal_mutable_dtls_transport_state_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_dtls_transport_state_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_internal_mutable_dtls_writable_states()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_dtls_writable_states());
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_internal_mutable_generic_packets_sent()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_generic_packets_sent());
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_internal_mutable_generic_packets_received()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_generic_packets_received());
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_internal_mutable_generic_acks_received()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_generic_acks_received());
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_internal_mutable_route_changes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_route_changes());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x7f000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_internal_mutable_remote_estimates()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_remote_estimates());
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_internal_mutable_neteq_set_minimum_delay()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_neteq_set_minimum_delay());
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_internal_mutable_scream_bwe_updates()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_scream_bwe_updates());
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_internal_mutable_audio_recv_stream_configs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audio_recv_stream_configs());
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_internal_mutable_audio_send_stream_configs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audio_send_stream_configs());
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_internal_mutable_video_recv_stream_configs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_video_recv_stream_configs());
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_internal_mutable_video_send_stream_configs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_video_send_stream_configs());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void EventStream::InternalSwap(EventStream* 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_.stream_.InternalSwap(&other->_impl_.stream_);
  _impl_.incoming_rtp_packets_.InternalSwap(&other->_impl_.incoming_rtp_packets_);
  _impl_.outgoing_rtp_packets_.InternalSwap(&other->_impl_.outgoing_rtp_packets_);
  _impl_.incoming_rtcp_packets_.InternalSwap(&other->_impl_.incoming_rtcp_packets_);
  _impl_.outgoing_rtcp_packets_.InternalSwap(&other->_impl_.outgoing_rtcp_packets_);
  _impl_.audio_playout_events_.InternalSwap(&other->_impl_.audio_playout_events_);
  _impl_.frame_decoded_events_.InternalSwap(&other->_impl_.frame_decoded_events_);
  _impl_.begin_log_events_.InternalSwap(&other->_impl_.begin_log_events_);
  _impl_.end_log_events_.InternalSwap(&other->_impl_.end_log_events_);
  _impl_.loss_based_bwe_updates_.InternalSwap(&other->_impl_.loss_based_bwe_updates_);
  _impl_.delay_based_bwe_updates_.InternalSwap(&other->_impl_.delay_based_bwe_updates_);
  _impl_.audio_network_adaptations_.InternalSwap(&other->_impl_.audio_network_adaptations_);
  _impl_.probe_clusters_.InternalSwap(&other->_impl_.probe_clusters_);
  _impl_.probe_success_.InternalSwap(&other->_impl_.probe_success_);
  _impl_.probe_failure_.InternalSwap(&other->_impl_.probe_failure_);
  _impl_.alr_states_.InternalSwap(&other->_impl_.alr_states_);
  _impl_.ice_candidate_configs_.InternalSwap(&other->_impl_.ice_candidate_configs_);
  _impl_.ice_candidate_events_.InternalSwap(&other->_impl_.ice_candidate_events_);
  _impl_.dtls_transport_state_events_.InternalSwap(&other->_impl_.dtls_transport_state_events_);
  _impl_.dtls_writable_states_.InternalSwap(&other->_impl_.dtls_writable_states_);
  _impl_.generic_packets_sent_.InternalSwap(&other->_impl_.generic_packets_sent_);
  _impl_.generic_packets_received_.InternalSwap(&other->_impl_.generic_packets_received_);
  _impl_.generic_acks_received_.InternalSwap(&other->_impl_.generic_acks_received_);
  _impl_.route_changes_.InternalSwap(&other->_impl_.route_changes_);
  _impl_.remote_estimates_.InternalSwap(&other->_impl_.remote_estimates_);
  _impl_.neteq_set_minimum_delay_.InternalSwap(&other->_impl_.neteq_set_minimum_delay_);
  _impl_.scream_bwe_updates_.InternalSwap(&other->_impl_.scream_bwe_updates_);
  _impl_.audio_recv_stream_configs_.InternalSwap(&other->_impl_.audio_recv_stream_configs_);
  _impl_.audio_send_stream_configs_.InternalSwap(&other->_impl_.audio_send_stream_configs_);
  _impl_.video_recv_stream_configs_.InternalSwap(&other->_impl_.video_recv_stream_configs_);
  _impl_.video_send_stream_configs_.InternalSwap(&other->_impl_.video_send_stream_configs_);
}

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

Event::Event(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Event_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.Event)
}
Event::Event(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Event& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Event_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 Event::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Event::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Event::~Event() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.Event)
  SharedDtor(*this);
}
inline void Event::SharedDtor(MessageLite& self) {
  Event& this_ = static_cast<Event&>(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 Event_class_data_ =
    Event::InternalGenerateClassData_(Event_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Event::GetClassData() const {
  return Event_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Event::GetClassData() const {
  return Event_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Event::ParseTableT_
    Event::_table_ =
        Event::InternalGenerateParseTable_(Event_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Event::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.Event)
  ::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 Event::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const Event& this_ = static_cast<const Event&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL Event::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const Event& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:webrtc.rtclog2.Event)
  ::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:webrtc.rtclog2.Event)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Event::ByteSizeLong(const MessageLite& base) {
  const Event& this_ = static_cast<const Event&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Event::ByteSizeLong() const {
  const Event& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.Event)
  ::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 Event::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Event*>(&to_msg);
  auto& from = static_cast<const Event&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.Event)
  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 Event::CopyFrom(const Event& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:webrtc.rtclog2.Event)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GenericPacketReceived* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.GenericPacketReceived)
}
PROTOBUF_NDEBUG_INLINE GenericPacketReceived::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        packet_number_deltas_(arena),
        packet_length_deltas_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GenericPacketReceived_class_data_ =
    GenericPacketReceived::InternalGenerateClassData_(GenericPacketReceived_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericPacketReceived::GetClassData() const {
  return GenericPacketReceived_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericPacketReceived::GetClassData() const {
  return GenericPacketReceived_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GenericPacketReceived::ParseTableT_
    GenericPacketReceived::_table_ =
        GenericPacketReceived::InternalGenerateParseTable_(GenericPacketReceived_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GenericPacketReceived::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.GenericPacketReceived)
  ::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_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.packet_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.packet_length_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

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

  // optional int32 packet_length = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_packet_length(), target);
  }

  // optional uint32 number_of_deltas = 16;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 17;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(17, _s, target);
  }

  // optional bytes packet_number_deltas = 18;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_packet_number_deltas();
    target = stream->WriteBytesMaybeAliased(18, _s, target);
  }

  // optional bytes packet_length_deltas = 19;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_packet_length_deltas();
    target = stream->WriteBytesMaybeAliased(19, _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:webrtc.rtclog2.GenericPacketReceived)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GenericPacketReceived::ByteSizeLong(const MessageLite& base) {
  const GenericPacketReceived& this_ = static_cast<const GenericPacketReceived&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GenericPacketReceived::ByteSizeLong() const {
  const GenericPacketReceived& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.GenericPacketReceived)
  ::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, 0x0000007fU)) {
    // optional bytes timestamp_ms_deltas = 17;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes packet_number_deltas = 18;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_packet_number_deltas());
    }
    // optional bytes packet_length_deltas = 19;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_packet_length_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional int64 packet_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_packet_number());
    }
    // optional int32 packet_length = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_packet_length());
    }
    // optional uint32 number_of_deltas = 16;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_number_of_deltas());
    }
  }
  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 GenericPacketReceived::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GenericPacketReceived*>(&to_msg);
  auto& from = static_cast<const GenericPacketReceived&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.GenericPacketReceived)
  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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_packet_number_deltas(from._internal_packet_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_packet_length_deltas(from._internal_packet_length_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.packet_number_ = from._impl_.packet_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.packet_length_ = from._impl_.packet_length_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GenericPacketReceived::InternalSwap(GenericPacketReceived* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.packet_number_deltas_, &other->_impl_.packet_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.packet_length_deltas_, &other->_impl_.packet_length_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.number_of_deltas_)
      + sizeof(GenericPacketReceived::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(GenericPacketReceived, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

GenericPacketSent::GenericPacketSent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GenericPacketSent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.GenericPacketSent)
}
PROTOBUF_NDEBUG_INLINE GenericPacketSent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::GenericPacketSent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        packet_number_deltas_(arena, from.packet_number_deltas_),
        overhead_length_deltas_(arena, from.overhead_length_deltas_),
        payload_length_deltas_(arena, from.payload_length_deltas_),
        padding_length_deltas_(arena, from.padding_length_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GenericPacketSent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.GenericPacketSent)
}
PROTOBUF_NDEBUG_INLINE GenericPacketSent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        packet_number_deltas_(arena),
        overhead_length_deltas_(arena),
        payload_length_deltas_(arena),
        padding_length_deltas_(arena) {}

inline void GenericPacketSent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
GenericPacketSent::~GenericPacketSent() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.GenericPacketSent)
  SharedDtor(*this);
}
inline void GenericPacketSent::SharedDtor(MessageLite& self) {
  GenericPacketSent& this_ = static_cast<GenericPacketSent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.packet_number_deltas_.Destroy();
  this_._impl_.overhead_length_deltas_.Destroy();
  this_._impl_.payload_length_deltas_.Destroy();
  this_._impl_.padding_length_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GenericPacketSent_class_data_ =
    GenericPacketSent::InternalGenerateClassData_(GenericPacketSent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericPacketSent::GetClassData() const {
  return GenericPacketSent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericPacketSent::GetClassData() const {
  return GenericPacketSent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GenericPacketSent::ParseTableT_
    GenericPacketSent::_table_ =
        GenericPacketSent::InternalGenerateParseTable_(GenericPacketSent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GenericPacketSent::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.GenericPacketSent)
  ::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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.packet_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.overhead_length_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.payload_length_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.padding_length_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.overhead_length_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.overhead_length_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    ::memset(&_impl_.payload_length_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.payload_length_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional int64 packet_number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_packet_number(), target);
  }

  // optional int32 overhead_length = 3;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_overhead_length(), target);
  }

  // optional int32 payload_length = 4;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_payload_length(), target);
  }

  // optional int32 padding_length = 5;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_padding_length(), target);
  }

  // optional uint32 number_of_deltas = 16;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 17;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(17, _s, target);
  }

  // optional bytes packet_number_deltas = 18;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_packet_number_deltas();
    target = stream->WriteBytesMaybeAliased(18, _s, target);
  }

  // optional bytes overhead_length_deltas = 19;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_overhead_length_deltas();
    target = stream->WriteBytesMaybeAliased(19, _s, target);
  }

  // optional bytes payload_length_deltas = 20;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_payload_length_deltas();
    target = stream->WriteBytesMaybeAliased(20, _s, target);
  }

  // optional bytes padding_length_deltas = 21;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_padding_length_deltas();
    target = stream->WriteBytesMaybeAliased(21, _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:webrtc.rtclog2.GenericPacketSent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GenericPacketSent::ByteSizeLong(const MessageLite& base) {
  const GenericPacketSent& this_ = static_cast<const GenericPacketSent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GenericPacketSent::ByteSizeLong() const {
  const GenericPacketSent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.GenericPacketSent)
  ::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, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 17;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes packet_number_deltas = 18;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_packet_number_deltas());
    }
    // optional bytes overhead_length_deltas = 19;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_overhead_length_deltas());
    }
    // optional bytes payload_length_deltas = 20;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_payload_length_deltas());
    }
    // optional bytes padding_length_deltas = 21;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_padding_length_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional int64 packet_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_packet_number());
    }
    // optional int32 overhead_length = 3;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_overhead_length());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    // optional int32 payload_length = 4;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_payload_length());
    }
    // optional int32 padding_length = 5;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_padding_length());
    }
    // optional uint32 number_of_deltas = 16;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_number_of_deltas());
    }
  }
  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 GenericPacketSent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GenericPacketSent*>(&to_msg);
  auto& from = static_cast<const GenericPacketSent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.GenericPacketSent)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_packet_number_deltas(from._internal_packet_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_overhead_length_deltas(from._internal_overhead_length_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_payload_length_deltas(from._internal_payload_length_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_padding_length_deltas(from._internal_padding_length_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.packet_number_ = from._impl_.packet_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.overhead_length_ = from._impl_.overhead_length_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.payload_length_ = from._impl_.payload_length_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.padding_length_ = from._impl_.padding_length_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GenericPacketSent::InternalSwap(GenericPacketSent* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.packet_number_deltas_, &other->_impl_.packet_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.overhead_length_deltas_, &other->_impl_.overhead_length_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_length_deltas_, &other->_impl_.payload_length_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.padding_length_deltas_, &other->_impl_.padding_length_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.number_of_deltas_)
      + sizeof(GenericPacketSent::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(GenericPacketSent, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

GenericAckReceived::GenericAckReceived(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GenericAckReceived_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.GenericAckReceived)
}
PROTOBUF_NDEBUG_INLINE GenericAckReceived::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::GenericAckReceived& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        packet_number_deltas_(arena, from.packet_number_deltas_),
        acked_packet_number_deltas_(arena, from.acked_packet_number_deltas_),
        receive_acked_packet_time_ms_deltas_(arena, from.receive_acked_packet_time_ms_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GenericAckReceived* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.GenericAckReceived)
}
PROTOBUF_NDEBUG_INLINE GenericAckReceived::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        packet_number_deltas_(arena),
        acked_packet_number_deltas_(arena),
        receive_acked_packet_time_ms_deltas_(arena) {}

inline void GenericAckReceived::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
GenericAckReceived::~GenericAckReceived() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.GenericAckReceived)
  SharedDtor(*this);
}
inline void GenericAckReceived::SharedDtor(MessageLite& self) {
  GenericAckReceived& this_ = static_cast<GenericAckReceived&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.packet_number_deltas_.Destroy();
  this_._impl_.acked_packet_number_deltas_.Destroy();
  this_._impl_.receive_acked_packet_time_ms_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GenericAckReceived_class_data_ =
    GenericAckReceived::InternalGenerateClassData_(GenericAckReceived_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericAckReceived::GetClassData() const {
  return GenericAckReceived_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenericAckReceived::GetClassData() const {
  return GenericAckReceived_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GenericAckReceived::ParseTableT_
    GenericAckReceived::_table_ =
        GenericAckReceived::InternalGenerateParseTable_(GenericAckReceived_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GenericAckReceived::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.GenericAckReceived)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.packet_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.acked_packet_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.receive_acked_packet_time_ms_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.receive_acked_packet_time_ms_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.receive_acked_packet_time_ms_));
  }
  _impl_.number_of_deltas_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional int64 packet_number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_packet_number(), target);
  }

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

  // optional int64 receive_acked_packet_time_ms = 4;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
            stream, this_._internal_receive_acked_packet_time_ms(), target);
  }

  // optional uint32 number_of_deltas = 16;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 17;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(17, _s, target);
  }

  // optional bytes packet_number_deltas = 18;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_packet_number_deltas();
    target = stream->WriteBytesMaybeAliased(18, _s, target);
  }

  // optional bytes acked_packet_number_deltas = 19;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_acked_packet_number_deltas();
    target = stream->WriteBytesMaybeAliased(19, _s, target);
  }

  // optional bytes receive_acked_packet_time_ms_deltas = 20;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_receive_acked_packet_time_ms_deltas();
    target = stream->WriteBytesMaybeAliased(20, _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:webrtc.rtclog2.GenericAckReceived)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GenericAckReceived::ByteSizeLong(const MessageLite& base) {
  const GenericAckReceived& this_ = static_cast<const GenericAckReceived&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GenericAckReceived::ByteSizeLong() const {
  const GenericAckReceived& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.GenericAckReceived)
  ::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, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 17;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes packet_number_deltas = 18;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_packet_number_deltas());
    }
    // optional bytes acked_packet_number_deltas = 19;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_acked_packet_number_deltas());
    }
    // optional bytes receive_acked_packet_time_ms_deltas = 20;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_receive_acked_packet_time_ms_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional int64 packet_number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_packet_number());
    }
    // optional int64 acked_packet_number = 3;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_acked_packet_number());
    }
    // optional int64 receive_acked_packet_time_ms = 4;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_receive_acked_packet_time_ms());
    }
  }
   {
    // optional uint32 number_of_deltas = 16;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_number_of_deltas());
    }
  }
  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 GenericAckReceived::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GenericAckReceived*>(&to_msg);
  auto& from = static_cast<const GenericAckReceived&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.GenericAckReceived)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_packet_number_deltas(from._internal_packet_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_acked_packet_number_deltas(from._internal_acked_packet_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_receive_acked_packet_time_ms_deltas(from._internal_receive_acked_packet_time_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.packet_number_ = from._impl_.packet_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.acked_packet_number_ = from._impl_.acked_packet_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.receive_acked_packet_time_ms_ = from._impl_.receive_acked_packet_time_ms_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GenericAckReceived::InternalSwap(GenericAckReceived* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.packet_number_deltas_, &other->_impl_.packet_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.acked_packet_number_deltas_, &other->_impl_.acked_packet_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.receive_acked_packet_time_ms_deltas_, &other->_impl_.receive_acked_packet_time_ms_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.number_of_deltas_)
      + sizeof(GenericAckReceived::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(GenericAckReceived, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

DependencyDescriptorsWireInfo::DependencyDescriptorsWireInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DependencyDescriptorsWireInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.DependencyDescriptorsWireInfo)
}
PROTOBUF_NDEBUG_INLINE DependencyDescriptorsWireInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::DependencyDescriptorsWireInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        start_end_bit_deltas_(arena, from.start_end_bit_deltas_),
        template_id_deltas_(arena, from.template_id_deltas_),
        frame_id_deltas_(arena, from.frame_id_deltas_),
        extended_infos_(arena, from.extended_infos_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DependencyDescriptorsWireInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_end_bit_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, start_end_bit_),
           offsetof(Impl_, frame_id_) -
               offsetof(Impl_, start_end_bit_) +
               sizeof(Impl_::frame_id_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.DependencyDescriptorsWireInfo)
}
PROTOBUF_NDEBUG_INLINE DependencyDescriptorsWireInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        start_end_bit_deltas_(arena),
        template_id_deltas_(arena),
        frame_id_deltas_(arena),
        extended_infos_(arena) {}

inline void DependencyDescriptorsWireInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_end_bit_),
           0,
           offsetof(Impl_, frame_id_) -
               offsetof(Impl_, start_end_bit_) +
               sizeof(Impl_::frame_id_));
}
DependencyDescriptorsWireInfo::~DependencyDescriptorsWireInfo() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.DependencyDescriptorsWireInfo)
  SharedDtor(*this);
}
inline void DependencyDescriptorsWireInfo::SharedDtor(MessageLite& self) {
  DependencyDescriptorsWireInfo& this_ = static_cast<DependencyDescriptorsWireInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.start_end_bit_deltas_.Destroy();
  this_._impl_.template_id_deltas_.Destroy();
  this_._impl_.frame_id_deltas_.Destroy();
  this_._impl_.extended_infos_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DependencyDescriptorsWireInfo_class_data_ =
    DependencyDescriptorsWireInfo::InternalGenerateClassData_(DependencyDescriptorsWireInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DependencyDescriptorsWireInfo::GetClassData() const {
  return DependencyDescriptorsWireInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DependencyDescriptorsWireInfo::GetClassData() const {
  return DependencyDescriptorsWireInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DependencyDescriptorsWireInfo::ParseTableT_
    DependencyDescriptorsWireInfo::_table_ =
        DependencyDescriptorsWireInfo::InternalGenerateParseTable_(DependencyDescriptorsWireInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DependencyDescriptorsWireInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.DependencyDescriptorsWireInfo)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.start_end_bit_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.template_id_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.frame_id_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.extended_infos_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000070U)) {
    ::memset(&_impl_.start_end_bit_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.frame_id_) -
        reinterpret_cast<char*>(&_impl_.start_end_bit_)) + sizeof(_impl_.frame_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 start_end_bit = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_start_end_bit(), target);
  }

  // optional bytes start_end_bit_deltas = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_start_end_bit_deltas();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // optional uint32 template_id = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_template_id(), target);
  }

  // optional bytes template_id_deltas = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_template_id_deltas();
    target = stream->WriteBytesMaybeAliased(4, _s, target);
  }

  // optional uint32 frame_id = 5;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_frame_id(), target);
  }

  // optional bytes frame_id_deltas = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_frame_id_deltas();
    target = stream->WriteBytesMaybeAliased(6, _s, target);
  }

  // optional bytes extended_infos = 7;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_extended_infos();
    target = stream->WriteBytesMaybeAliased(7, _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:webrtc.rtclog2.DependencyDescriptorsWireInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DependencyDescriptorsWireInfo::ByteSizeLong(const MessageLite& base) {
  const DependencyDescriptorsWireInfo& this_ = static_cast<const DependencyDescriptorsWireInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DependencyDescriptorsWireInfo::ByteSizeLong() const {
  const DependencyDescriptorsWireInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.DependencyDescriptorsWireInfo)
  ::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, 0x0000007fU)) {
    // optional bytes start_end_bit_deltas = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_start_end_bit_deltas());
    }
    // optional bytes template_id_deltas = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_template_id_deltas());
    }
    // optional bytes frame_id_deltas = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_frame_id_deltas());
    }
    // optional bytes extended_infos = 7;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_extended_infos());
    }
    // optional uint32 start_end_bit = 1;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_start_end_bit());
    }
    // optional uint32 template_id = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_template_id());
    }
    // optional uint32 frame_id = 5;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_frame_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 DependencyDescriptorsWireInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DependencyDescriptorsWireInfo*>(&to_msg);
  auto& from = static_cast<const DependencyDescriptorsWireInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.DependencyDescriptorsWireInfo)
  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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_start_end_bit_deltas(from._internal_start_end_bit_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_template_id_deltas(from._internal_template_id_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_frame_id_deltas(from._internal_frame_id_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_extended_infos(from._internal_extended_infos());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.start_end_bit_ = from._impl_.start_end_bit_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.template_id_ = from._impl_.template_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.frame_id_ = from._impl_.frame_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DependencyDescriptorsWireInfo::InternalSwap(DependencyDescriptorsWireInfo* 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_.start_end_bit_deltas_, &other->_impl_.start_end_bit_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.template_id_deltas_, &other->_impl_.template_id_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.frame_id_deltas_, &other->_impl_.frame_id_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extended_infos_, &other->_impl_.extended_infos_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.frame_id_)
      + sizeof(DependencyDescriptorsWireInfo::_impl_.frame_id_)
      - PROTOBUF_FIELD_OFFSET(DependencyDescriptorsWireInfo, _impl_.start_end_bit_)>(
          reinterpret_cast<char*>(&_impl_.start_end_bit_),
          reinterpret_cast<char*>(&other->_impl_.start_end_bit_));
}

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

IncomingRtpPackets::IncomingRtpPackets(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IncomingRtpPackets_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.IncomingRtpPackets)
}
PROTOBUF_NDEBUG_INLINE IncomingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::IncomingRtpPackets& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        payload_type_deltas_(arena, from.payload_type_deltas_),
        sequence_number_deltas_(arena, from.sequence_number_deltas_),
        rtp_timestamp_deltas_(arena, from.rtp_timestamp_deltas_),
        ssrc_deltas_(arena, from.ssrc_deltas_),
        payload_size_deltas_(arena, from.payload_size_deltas_),
        header_size_deltas_(arena, from.header_size_deltas_),
        padding_size_deltas_(arena, from.padding_size_deltas_),
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        marker_deltas_(arena, from.marker_deltas_),
        transport_sequence_number_deltas_(arena, from.transport_sequence_number_deltas_),
        transmission_time_offset_deltas_(arena, from.transmission_time_offset_deltas_),
        absolute_send_time_deltas_(arena, from.absolute_send_time_deltas_),
        video_rotation_deltas_(arena, from.video_rotation_deltas_),
        audio_level_deltas_(arena, from.audio_level_deltas_),
        voice_activity_deltas_(arena, from.voice_activity_deltas_),
        rtx_original_sequence_number_deltas_(arena, from.rtx_original_sequence_number_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  IncomingRtpPackets* 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_.dependency_descriptor_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dependency_descriptor_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, rtx_original_sequence_number_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::rtx_original_sequence_number_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.IncomingRtpPackets)
}
PROTOBUF_NDEBUG_INLINE IncomingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        payload_type_deltas_(arena),
        sequence_number_deltas_(arena),
        rtp_timestamp_deltas_(arena),
        ssrc_deltas_(arena),
        payload_size_deltas_(arena),
        header_size_deltas_(arena),
        padding_size_deltas_(arena),
        timestamp_ms_deltas_(arena),
        marker_deltas_(arena),
        transport_sequence_number_deltas_(arena),
        transmission_time_offset_deltas_(arena),
        absolute_send_time_deltas_(arena),
        video_rotation_deltas_(arena),
        audio_level_deltas_(arena),
        voice_activity_deltas_(arena),
        rtx_original_sequence_number_deltas_(arena) {}

inline void IncomingRtpPackets::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, dependency_descriptor_),
           0,
           offsetof(Impl_, rtx_original_sequence_number_) -
               offsetof(Impl_, dependency_descriptor_) +
               sizeof(Impl_::rtx_original_sequence_number_));
}
IncomingRtpPackets::~IncomingRtpPackets() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.IncomingRtpPackets)
  SharedDtor(*this);
}
inline void IncomingRtpPackets::SharedDtor(MessageLite& self) {
  IncomingRtpPackets& this_ = static_cast<IncomingRtpPackets&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.payload_type_deltas_.Destroy();
  this_._impl_.sequence_number_deltas_.Destroy();
  this_._impl_.rtp_timestamp_deltas_.Destroy();
  this_._impl_.ssrc_deltas_.Destroy();
  this_._impl_.payload_size_deltas_.Destroy();
  this_._impl_.header_size_deltas_.Destroy();
  this_._impl_.padding_size_deltas_.Destroy();
  delete this_._impl_.dependency_descriptor_;
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.marker_deltas_.Destroy();
  this_._impl_.transport_sequence_number_deltas_.Destroy();
  this_._impl_.transmission_time_offset_deltas_.Destroy();
  this_._impl_.absolute_send_time_deltas_.Destroy();
  this_._impl_.video_rotation_deltas_.Destroy();
  this_._impl_.audio_level_deltas_.Destroy();
  this_._impl_.voice_activity_deltas_.Destroy();
  this_._impl_.rtx_original_sequence_number_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IncomingRtpPackets_class_data_ =
    IncomingRtpPackets::InternalGenerateClassData_(IncomingRtpPackets_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IncomingRtpPackets::GetClassData() const {
  return IncomingRtpPackets_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IncomingRtpPackets::GetClassData() const {
  return IncomingRtpPackets_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IncomingRtpPackets::ParseTableT_
    IncomingRtpPackets::_table_ =
        IncomingRtpPackets::InternalGenerateParseTable_(IncomingRtpPackets_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IncomingRtpPackets::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.IncomingRtpPackets)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.payload_type_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.rtp_timestamp_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.ssrc_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.payload_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.header_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.padding_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.dependency_descriptor_ != nullptr);
      _impl_.dependency_descriptor_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.padding_size_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.padding_size_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.number_of_deltas_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.audio_level_) -
        reinterpret_cast<char*>(&_impl_.number_of_deltas_)) + sizeof(_impl_.audio_level_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    _impl_.rtx_original_sequence_number_ = 0u;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _impl_.marker_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _impl_.transport_sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _impl_.transmission_time_offset_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _impl_.absolute_send_time_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _impl_.video_rotation_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _impl_.audio_level_deltas_.ClearNonDefaultToEmpty();
    }
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.voice_activity_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.rtx_original_sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bool marker = 2;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_marker(), target);
  }

  // optional uint32 payload_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_payload_type(), target);
  }

  // optional uint32 sequence_number = 4;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_sequence_number(), target);
  }

  // optional fixed32 rtp_timestamp = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        5, this_._internal_rtp_timestamp(), target);
  }

  // optional fixed32 ssrc = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        6, this_._internal_ssrc(), target);
  }

  // optional uint32 payload_size = 8;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_payload_size(), target);
  }

  // optional uint32 header_size = 9;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this_._internal_header_size(), target);
  }

  // optional uint32 padding_size = 10;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this_._internal_padding_size(), target);
  }

  // optional uint32 number_of_deltas = 11;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        11, this_._internal_number_of_deltas(), target);
  }

  // optional uint32 transport_sequence_number = 15;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this_._internal_transport_sequence_number(), target);
  }

  // optional int32 transmission_time_offset = 16;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this_._internal_transmission_time_offset(), target);
  }

  // optional uint32 absolute_send_time = 17;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        17, this_._internal_absolute_send_time(), target);
  }

  // optional uint32 video_rotation = 18;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        18, this_._internal_video_rotation(), target);
  }

  // optional uint32 audio_level = 19;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        19, this_._internal_audio_level(), target);
  }

  // optional bool voice_activity = 20;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this_._internal_voice_activity(), target);
  }

  // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        21, *this_._impl_.dependency_descriptor_, this_._impl_.dependency_descriptor_->GetCachedSize(), target,
        stream);
  }

  // optional uint32 rtx_original_sequence_number = 22;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        22, this_._internal_rtx_original_sequence_number(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes marker_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    const ::std::string& _s = this_._internal_marker_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes payload_type_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_payload_type_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes sequence_number_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(104, _s, target);
  }

  // optional bytes rtp_timestamp_deltas = 105;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_rtp_timestamp_deltas();
    target = stream->WriteBytesMaybeAliased(105, _s, target);
  }

  // optional bytes ssrc_deltas = 106;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_ssrc_deltas();
    target = stream->WriteBytesMaybeAliased(106, _s, target);
  }

  // optional bytes payload_size_deltas = 108;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_payload_size_deltas();
    target = stream->WriteBytesMaybeAliased(108, _s, target);
  }

  // optional bytes header_size_deltas = 109;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_header_size_deltas();
    target = stream->WriteBytesMaybeAliased(109, _s, target);
  }

  // optional bytes padding_size_deltas = 110;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_padding_size_deltas();
    target = stream->WriteBytesMaybeAliased(110, _s, target);
  }

  // optional bytes transport_sequence_number_deltas = 115;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    const ::std::string& _s = this_._internal_transport_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(115, _s, target);
  }

  // optional bytes transmission_time_offset_deltas = 116;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    const ::std::string& _s = this_._internal_transmission_time_offset_deltas();
    target = stream->WriteBytesMaybeAliased(116, _s, target);
  }

  // optional bytes absolute_send_time_deltas = 117;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    const ::std::string& _s = this_._internal_absolute_send_time_deltas();
    target = stream->WriteBytesMaybeAliased(117, _s, target);
  }

  // optional bytes video_rotation_deltas = 118;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    const ::std::string& _s = this_._internal_video_rotation_deltas();
    target = stream->WriteBytesMaybeAliased(118, _s, target);
  }

  // optional bytes audio_level_deltas = 119;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    const ::std::string& _s = this_._internal_audio_level_deltas();
    target = stream->WriteBytesMaybeAliased(119, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional bytes voice_activity_deltas = 120;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_voice_activity_deltas();
    target = stream->WriteBytesMaybeAliased(120, _s, target);
  }

  // optional bytes rtx_original_sequence_number_deltas = 121;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_rtx_original_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(121, _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:webrtc.rtclog2.IncomingRtpPackets)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t IncomingRtpPackets::ByteSizeLong(const MessageLite& base) {
  const IncomingRtpPackets& this_ = static_cast<const IncomingRtpPackets&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t IncomingRtpPackets::ByteSizeLong() const {
  const IncomingRtpPackets& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.IncomingRtpPackets)
  ::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];
  total_size += ::absl::popcount(0x00001800U & cached_has_bits) * 5;
  total_size += static_cast<bool>(0x00040000U & cached_has_bits) * 3;
  total_size += static_cast<bool>(0x00020000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional bytes payload_type_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_payload_type_deltas());
    }
    // optional bytes sequence_number_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_sequence_number_deltas());
    }
    // optional bytes rtp_timestamp_deltas = 105;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_rtp_timestamp_deltas());
    }
    // optional bytes ssrc_deltas = 106;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_ssrc_deltas());
    }
    // optional bytes payload_size_deltas = 108;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_payload_size_deltas());
    }
    // optional bytes header_size_deltas = 109;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_header_size_deltas());
    }
    // optional bytes padding_size_deltas = 110;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_padding_size_deltas());
    }
    // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.dependency_descriptor_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000e700U)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 payload_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_payload_type());
    }
    // optional uint32 sequence_number = 4;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sequence_number());
    }
    // optional uint32 payload_size = 8;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_payload_size());
    }
    // optional uint32 header_size = 9;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_header_size());
    }
    // optional uint32 padding_size = 10;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_padding_size());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00f90000U)) {
    // optional uint32 number_of_deltas = 11;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
    // optional uint32 transport_sequence_number = 15;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_transport_sequence_number());
    }
    // optional int32 transmission_time_offset = 16;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_transmission_time_offset());
    }
    // optional uint32 absolute_send_time = 17;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_absolute_send_time());
    }
    // optional uint32 video_rotation = 18;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_video_rotation());
    }
    // optional uint32 audio_level = 19;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_audio_level());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    // optional uint32 rtx_original_sequence_number = 22;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_rtx_original_sequence_number());
    }
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes marker_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_marker_deltas());
    }
    // optional bytes transport_sequence_number_deltas = 115;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_transport_sequence_number_deltas());
    }
    // optional bytes transmission_time_offset_deltas = 116;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_transmission_time_offset_deltas());
    }
    // optional bytes absolute_send_time_deltas = 117;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_absolute_send_time_deltas());
    }
    // optional bytes video_rotation_deltas = 118;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_video_rotation_deltas());
    }
    // optional bytes audio_level_deltas = 119;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_audio_level_deltas());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional bytes voice_activity_deltas = 120;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_voice_activity_deltas());
    }
    // optional bytes rtx_original_sequence_number_deltas = 121;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_rtx_original_sequence_number_deltas());
    }
  }
  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 IncomingRtpPackets::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IncomingRtpPackets*>(&to_msg);
  auto& from = static_cast<const IncomingRtpPackets&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.IncomingRtpPackets)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_payload_type_deltas(from._internal_payload_type_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_sequence_number_deltas(from._internal_sequence_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_rtp_timestamp_deltas(from._internal_rtp_timestamp_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_ssrc_deltas(from._internal_ssrc_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_payload_size_deltas(from._internal_payload_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_header_size_deltas(from._internal_header_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_padding_size_deltas(from._internal_padding_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.dependency_descriptor_ != nullptr);
      if (_this->_impl_.dependency_descriptor_ == nullptr) {
        _this->_impl_.dependency_descriptor_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dependency_descriptor_);
      } else {
        _this->_impl_.dependency_descriptor_->MergeFrom(*from._impl_.dependency_descriptor_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.payload_type_ = from._impl_.payload_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.sequence_number_ = from._impl_.sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.rtp_timestamp_ = from._impl_.rtp_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.ssrc_ = from._impl_.ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.payload_size_ = from._impl_.payload_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.header_size_ = from._impl_.header_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.padding_size_ = from._impl_.padding_size_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.marker_ = from._impl_.marker_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.voice_activity_ = from._impl_.voice_activity_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.transport_sequence_number_ = from._impl_.transport_sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.transmission_time_offset_ = from._impl_.transmission_time_offset_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.absolute_send_time_ = from._impl_.absolute_send_time_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.video_rotation_ = from._impl_.video_rotation_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.audio_level_ = from._impl_.audio_level_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.rtx_original_sequence_number_ = from._impl_.rtx_original_sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_internal_set_marker_deltas(from._internal_marker_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_internal_set_transport_sequence_number_deltas(from._internal_transport_sequence_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_internal_set_transmission_time_offset_deltas(from._internal_transmission_time_offset_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_internal_set_absolute_send_time_deltas(from._internal_absolute_send_time_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_internal_set_video_rotation_deltas(from._internal_video_rotation_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_internal_set_audio_level_deltas(from._internal_audio_level_deltas());
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_voice_activity_deltas(from._internal_voice_activity_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_rtx_original_sequence_number_deltas(from._internal_rtx_original_sequence_number_deltas());
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IncomingRtpPackets::InternalSwap(IncomingRtpPackets* 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]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_type_deltas_, &other->_impl_.payload_type_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sequence_number_deltas_, &other->_impl_.sequence_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtp_timestamp_deltas_, &other->_impl_.rtp_timestamp_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ssrc_deltas_, &other->_impl_.ssrc_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_size_deltas_, &other->_impl_.payload_size_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.header_size_deltas_, &other->_impl_.header_size_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.padding_size_deltas_, &other->_impl_.padding_size_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.rtx_original_sequence_number_)
      + sizeof(IncomingRtpPackets::_impl_.rtx_original_sequence_number_)
      - PROTOBUF_FIELD_OFFSET(IncomingRtpPackets, _impl_.dependency_descriptor_)>(
          reinterpret_cast<char*>(&_impl_.dependency_descriptor_),
          reinterpret_cast<char*>(&other->_impl_.dependency_descriptor_));
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.marker_deltas_, &other->_impl_.marker_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.transport_sequence_number_deltas_, &other->_impl_.transport_sequence_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.transmission_time_offset_deltas_, &other->_impl_.transmission_time_offset_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.absolute_send_time_deltas_, &other->_impl_.absolute_send_time_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.video_rotation_deltas_, &other->_impl_.video_rotation_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.audio_level_deltas_, &other->_impl_.audio_level_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.voice_activity_deltas_, &other->_impl_.voice_activity_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtx_original_sequence_number_deltas_, &other->_impl_.rtx_original_sequence_number_deltas_, arena);
}

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

OutgoingRtpPackets::OutgoingRtpPackets(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, OutgoingRtpPackets_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.OutgoingRtpPackets)
}
PROTOBUF_NDEBUG_INLINE OutgoingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::OutgoingRtpPackets& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        payload_type_deltas_(arena, from.payload_type_deltas_),
        sequence_number_deltas_(arena, from.sequence_number_deltas_),
        rtp_timestamp_deltas_(arena, from.rtp_timestamp_deltas_),
        ssrc_deltas_(arena, from.ssrc_deltas_),
        payload_size_deltas_(arena, from.payload_size_deltas_),
        header_size_deltas_(arena, from.header_size_deltas_),
        padding_size_deltas_(arena, from.padding_size_deltas_),
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        marker_deltas_(arena, from.marker_deltas_),
        transport_sequence_number_deltas_(arena, from.transport_sequence_number_deltas_),
        transmission_time_offset_deltas_(arena, from.transmission_time_offset_deltas_),
        absolute_send_time_deltas_(arena, from.absolute_send_time_deltas_),
        video_rotation_deltas_(arena, from.video_rotation_deltas_),
        audio_level_deltas_(arena, from.audio_level_deltas_),
        voice_activity_deltas_(arena, from.voice_activity_deltas_),
        rtx_original_sequence_number_deltas_(arena, from.rtx_original_sequence_number_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OutgoingRtpPackets* 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_.dependency_descriptor_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dependency_descriptor_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, rtx_original_sequence_number_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::rtx_original_sequence_number_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.OutgoingRtpPackets)
}
PROTOBUF_NDEBUG_INLINE OutgoingRtpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        payload_type_deltas_(arena),
        sequence_number_deltas_(arena),
        rtp_timestamp_deltas_(arena),
        ssrc_deltas_(arena),
        payload_size_deltas_(arena),
        header_size_deltas_(arena),
        padding_size_deltas_(arena),
        timestamp_ms_deltas_(arena),
        marker_deltas_(arena),
        transport_sequence_number_deltas_(arena),
        transmission_time_offset_deltas_(arena),
        absolute_send_time_deltas_(arena),
        video_rotation_deltas_(arena),
        audio_level_deltas_(arena),
        voice_activity_deltas_(arena),
        rtx_original_sequence_number_deltas_(arena) {}

inline void OutgoingRtpPackets::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, dependency_descriptor_),
           0,
           offsetof(Impl_, rtx_original_sequence_number_) -
               offsetof(Impl_, dependency_descriptor_) +
               sizeof(Impl_::rtx_original_sequence_number_));
}
OutgoingRtpPackets::~OutgoingRtpPackets() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.OutgoingRtpPackets)
  SharedDtor(*this);
}
inline void OutgoingRtpPackets::SharedDtor(MessageLite& self) {
  OutgoingRtpPackets& this_ = static_cast<OutgoingRtpPackets&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.payload_type_deltas_.Destroy();
  this_._impl_.sequence_number_deltas_.Destroy();
  this_._impl_.rtp_timestamp_deltas_.Destroy();
  this_._impl_.ssrc_deltas_.Destroy();
  this_._impl_.payload_size_deltas_.Destroy();
  this_._impl_.header_size_deltas_.Destroy();
  this_._impl_.padding_size_deltas_.Destroy();
  delete this_._impl_.dependency_descriptor_;
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.marker_deltas_.Destroy();
  this_._impl_.transport_sequence_number_deltas_.Destroy();
  this_._impl_.transmission_time_offset_deltas_.Destroy();
  this_._impl_.absolute_send_time_deltas_.Destroy();
  this_._impl_.video_rotation_deltas_.Destroy();
  this_._impl_.audio_level_deltas_.Destroy();
  this_._impl_.voice_activity_deltas_.Destroy();
  this_._impl_.rtx_original_sequence_number_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite OutgoingRtpPackets_class_data_ =
    OutgoingRtpPackets::InternalGenerateClassData_(OutgoingRtpPackets_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OutgoingRtpPackets::GetClassData() const {
  return OutgoingRtpPackets_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OutgoingRtpPackets::GetClassData() const {
  return OutgoingRtpPackets_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const OutgoingRtpPackets::ParseTableT_
    OutgoingRtpPackets::_table_ =
        OutgoingRtpPackets::InternalGenerateParseTable_(OutgoingRtpPackets_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void OutgoingRtpPackets::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.OutgoingRtpPackets)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.payload_type_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.rtp_timestamp_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.ssrc_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.payload_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.header_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.padding_size_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.dependency_descriptor_ != nullptr);
      _impl_.dependency_descriptor_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.padding_size_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.padding_size_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.number_of_deltas_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.audio_level_) -
        reinterpret_cast<char*>(&_impl_.number_of_deltas_)) + sizeof(_impl_.audio_level_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    _impl_.rtx_original_sequence_number_ = 0u;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _impl_.marker_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _impl_.transport_sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _impl_.transmission_time_offset_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _impl_.absolute_send_time_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _impl_.video_rotation_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _impl_.audio_level_deltas_.ClearNonDefaultToEmpty();
    }
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.voice_activity_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.rtx_original_sequence_number_deltas_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bool marker = 2;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_marker(), target);
  }

  // optional uint32 payload_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_payload_type(), target);
  }

  // optional uint32 sequence_number = 4;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_sequence_number(), target);
  }

  // optional fixed32 rtp_timestamp = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        5, this_._internal_rtp_timestamp(), target);
  }

  // optional fixed32 ssrc = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        6, this_._internal_ssrc(), target);
  }

  // optional uint32 payload_size = 8;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_payload_size(), target);
  }

  // optional uint32 header_size = 9;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this_._internal_header_size(), target);
  }

  // optional uint32 padding_size = 10;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this_._internal_padding_size(), target);
  }

  // optional uint32 number_of_deltas = 11;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        11, this_._internal_number_of_deltas(), target);
  }

  // optional uint32 transport_sequence_number = 15;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this_._internal_transport_sequence_number(), target);
  }

  // optional int32 transmission_time_offset = 16;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this_._internal_transmission_time_offset(), target);
  }

  // optional uint32 absolute_send_time = 17;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        17, this_._internal_absolute_send_time(), target);
  }

  // optional uint32 video_rotation = 18;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        18, this_._internal_video_rotation(), target);
  }

  // optional uint32 audio_level = 19;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        19, this_._internal_audio_level(), target);
  }

  // optional bool voice_activity = 20;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this_._internal_voice_activity(), target);
  }

  // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        21, *this_._impl_.dependency_descriptor_, this_._impl_.dependency_descriptor_->GetCachedSize(), target,
        stream);
  }

  // optional uint32 rtx_original_sequence_number = 22;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        22, this_._internal_rtx_original_sequence_number(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes marker_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    const ::std::string& _s = this_._internal_marker_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes payload_type_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_payload_type_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes sequence_number_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(104, _s, target);
  }

  // optional bytes rtp_timestamp_deltas = 105;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_rtp_timestamp_deltas();
    target = stream->WriteBytesMaybeAliased(105, _s, target);
  }

  // optional bytes ssrc_deltas = 106;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_ssrc_deltas();
    target = stream->WriteBytesMaybeAliased(106, _s, target);
  }

  // optional bytes payload_size_deltas = 108;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_payload_size_deltas();
    target = stream->WriteBytesMaybeAliased(108, _s, target);
  }

  // optional bytes header_size_deltas = 109;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_header_size_deltas();
    target = stream->WriteBytesMaybeAliased(109, _s, target);
  }

  // optional bytes padding_size_deltas = 110;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_padding_size_deltas();
    target = stream->WriteBytesMaybeAliased(110, _s, target);
  }

  // optional bytes transport_sequence_number_deltas = 115;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    const ::std::string& _s = this_._internal_transport_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(115, _s, target);
  }

  // optional bytes transmission_time_offset_deltas = 116;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    const ::std::string& _s = this_._internal_transmission_time_offset_deltas();
    target = stream->WriteBytesMaybeAliased(116, _s, target);
  }

  // optional bytes absolute_send_time_deltas = 117;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    const ::std::string& _s = this_._internal_absolute_send_time_deltas();
    target = stream->WriteBytesMaybeAliased(117, _s, target);
  }

  // optional bytes video_rotation_deltas = 118;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    const ::std::string& _s = this_._internal_video_rotation_deltas();
    target = stream->WriteBytesMaybeAliased(118, _s, target);
  }

  // optional bytes audio_level_deltas = 119;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    const ::std::string& _s = this_._internal_audio_level_deltas();
    target = stream->WriteBytesMaybeAliased(119, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional bytes voice_activity_deltas = 120;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_voice_activity_deltas();
    target = stream->WriteBytesMaybeAliased(120, _s, target);
  }

  // optional bytes rtx_original_sequence_number_deltas = 121;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_rtx_original_sequence_number_deltas();
    target = stream->WriteBytesMaybeAliased(121, _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:webrtc.rtclog2.OutgoingRtpPackets)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OutgoingRtpPackets::ByteSizeLong(const MessageLite& base) {
  const OutgoingRtpPackets& this_ = static_cast<const OutgoingRtpPackets&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OutgoingRtpPackets::ByteSizeLong() const {
  const OutgoingRtpPackets& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.OutgoingRtpPackets)
  ::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];
  total_size += ::absl::popcount(0x00001800U & cached_has_bits) * 5;
  total_size += static_cast<bool>(0x00040000U & cached_has_bits) * 3;
  total_size += static_cast<bool>(0x00020000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional bytes payload_type_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_payload_type_deltas());
    }
    // optional bytes sequence_number_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_sequence_number_deltas());
    }
    // optional bytes rtp_timestamp_deltas = 105;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_rtp_timestamp_deltas());
    }
    // optional bytes ssrc_deltas = 106;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_ssrc_deltas());
    }
    // optional bytes payload_size_deltas = 108;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_payload_size_deltas());
    }
    // optional bytes header_size_deltas = 109;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_header_size_deltas());
    }
    // optional bytes padding_size_deltas = 110;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_padding_size_deltas());
    }
    // optional .webrtc.rtclog2.DependencyDescriptorsWireInfo dependency_descriptor = 21;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.dependency_descriptor_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000e700U)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 payload_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_payload_type());
    }
    // optional uint32 sequence_number = 4;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sequence_number());
    }
    // optional uint32 payload_size = 8;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_payload_size());
    }
    // optional uint32 header_size = 9;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_header_size());
    }
    // optional uint32 padding_size = 10;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_padding_size());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00f90000U)) {
    // optional uint32 number_of_deltas = 11;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
    // optional uint32 transport_sequence_number = 15;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_transport_sequence_number());
    }
    // optional int32 transmission_time_offset = 16;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_transmission_time_offset());
    }
    // optional uint32 absolute_send_time = 17;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_absolute_send_time());
    }
    // optional uint32 video_rotation = 18;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_video_rotation());
    }
    // optional uint32 audio_level = 19;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_audio_level());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    // optional uint32 rtx_original_sequence_number = 22;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_rtx_original_sequence_number());
    }
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes marker_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_marker_deltas());
    }
    // optional bytes transport_sequence_number_deltas = 115;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_transport_sequence_number_deltas());
    }
    // optional bytes transmission_time_offset_deltas = 116;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_transmission_time_offset_deltas());
    }
    // optional bytes absolute_send_time_deltas = 117;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_absolute_send_time_deltas());
    }
    // optional bytes video_rotation_deltas = 118;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_video_rotation_deltas());
    }
    // optional bytes audio_level_deltas = 119;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_audio_level_deltas());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional bytes voice_activity_deltas = 120;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_voice_activity_deltas());
    }
    // optional bytes rtx_original_sequence_number_deltas = 121;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_rtx_original_sequence_number_deltas());
    }
  }
  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 OutgoingRtpPackets::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<OutgoingRtpPackets*>(&to_msg);
  auto& from = static_cast<const OutgoingRtpPackets&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.OutgoingRtpPackets)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_payload_type_deltas(from._internal_payload_type_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_sequence_number_deltas(from._internal_sequence_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_rtp_timestamp_deltas(from._internal_rtp_timestamp_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_ssrc_deltas(from._internal_ssrc_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_payload_size_deltas(from._internal_payload_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_header_size_deltas(from._internal_header_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_padding_size_deltas(from._internal_padding_size_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.dependency_descriptor_ != nullptr);
      if (_this->_impl_.dependency_descriptor_ == nullptr) {
        _this->_impl_.dependency_descriptor_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dependency_descriptor_);
      } else {
        _this->_impl_.dependency_descriptor_->MergeFrom(*from._impl_.dependency_descriptor_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.payload_type_ = from._impl_.payload_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.sequence_number_ = from._impl_.sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.rtp_timestamp_ = from._impl_.rtp_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.ssrc_ = from._impl_.ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.payload_size_ = from._impl_.payload_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.header_size_ = from._impl_.header_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.padding_size_ = from._impl_.padding_size_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.marker_ = from._impl_.marker_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.voice_activity_ = from._impl_.voice_activity_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.transport_sequence_number_ = from._impl_.transport_sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.transmission_time_offset_ = from._impl_.transmission_time_offset_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.absolute_send_time_ = from._impl_.absolute_send_time_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.video_rotation_ = from._impl_.video_rotation_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.audio_level_ = from._impl_.audio_level_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.rtx_original_sequence_number_ = from._impl_.rtx_original_sequence_number_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_internal_set_marker_deltas(from._internal_marker_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_internal_set_transport_sequence_number_deltas(from._internal_transport_sequence_number_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_internal_set_transmission_time_offset_deltas(from._internal_transmission_time_offset_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_internal_set_absolute_send_time_deltas(from._internal_absolute_send_time_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_internal_set_video_rotation_deltas(from._internal_video_rotation_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_internal_set_audio_level_deltas(from._internal_audio_level_deltas());
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_voice_activity_deltas(from._internal_voice_activity_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_rtx_original_sequence_number_deltas(from._internal_rtx_original_sequence_number_deltas());
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void OutgoingRtpPackets::InternalSwap(OutgoingRtpPackets* 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]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_type_deltas_, &other->_impl_.payload_type_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sequence_number_deltas_, &other->_impl_.sequence_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtp_timestamp_deltas_, &other->_impl_.rtp_timestamp_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ssrc_deltas_, &other->_impl_.ssrc_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_size_deltas_, &other->_impl_.payload_size_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.header_size_deltas_, &other->_impl_.header_size_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.padding_size_deltas_, &other->_impl_.padding_size_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.rtx_original_sequence_number_)
      + sizeof(OutgoingRtpPackets::_impl_.rtx_original_sequence_number_)
      - PROTOBUF_FIELD_OFFSET(OutgoingRtpPackets, _impl_.dependency_descriptor_)>(
          reinterpret_cast<char*>(&_impl_.dependency_descriptor_),
          reinterpret_cast<char*>(&other->_impl_.dependency_descriptor_));
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.marker_deltas_, &other->_impl_.marker_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.transport_sequence_number_deltas_, &other->_impl_.transport_sequence_number_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.transmission_time_offset_deltas_, &other->_impl_.transmission_time_offset_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.absolute_send_time_deltas_, &other->_impl_.absolute_send_time_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.video_rotation_deltas_, &other->_impl_.video_rotation_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.audio_level_deltas_, &other->_impl_.audio_level_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.voice_activity_deltas_, &other->_impl_.voice_activity_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtx_original_sequence_number_deltas_, &other->_impl_.rtx_original_sequence_number_deltas_, arena);
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  IncomingRtcpPackets* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.IncomingRtcpPackets)
}
PROTOBUF_NDEBUG_INLINE IncomingRtcpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        raw_packet_(arena),
        timestamp_ms_deltas_(arena),
        raw_packet_blobs_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IncomingRtcpPackets_class_data_ =
    IncomingRtcpPackets::InternalGenerateClassData_(IncomingRtcpPackets_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IncomingRtcpPackets::GetClassData() const {
  return IncomingRtcpPackets_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IncomingRtcpPackets::GetClassData() const {
  return IncomingRtcpPackets_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IncomingRtcpPackets::ParseTableT_
    IncomingRtcpPackets::_table_ =
        IncomingRtcpPackets::InternalGenerateParseTable_(IncomingRtcpPackets_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IncomingRtcpPackets::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.IncomingRtcpPackets)
  ::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_.raw_packet_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.raw_packet_blobs_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bytes raw_packet = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_raw_packet();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // optional uint32 number_of_deltas = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes raw_packet_blobs = 102;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_raw_packet_blobs();
    target = stream->WriteBytesMaybeAliased(102, _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:webrtc.rtclog2.IncomingRtcpPackets)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t IncomingRtcpPackets::ByteSizeLong(const MessageLite& base) {
  const IncomingRtcpPackets& this_ = static_cast<const IncomingRtcpPackets&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t IncomingRtcpPackets::ByteSizeLong() const {
  const IncomingRtcpPackets& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.IncomingRtcpPackets)
  ::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)) {
    // optional bytes raw_packet = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_packet());
    }
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes raw_packet_blobs = 102;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_packet_blobs());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 number_of_deltas = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 IncomingRtcpPackets::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IncomingRtcpPackets*>(&to_msg);
  auto& from = static_cast<const IncomingRtcpPackets&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.IncomingRtcpPackets)
  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_set_raw_packet(from._internal_raw_packet());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_raw_packet_blobs(from._internal_raw_packet_blobs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IncomingRtcpPackets::InternalSwap(IncomingRtcpPackets* 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_.raw_packet_, &other->_impl_.raw_packet_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.raw_packet_blobs_, &other->_impl_.raw_packet_blobs_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.number_of_deltas_)
      + sizeof(IncomingRtcpPackets::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(IncomingRtcpPackets, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OutgoingRtcpPackets* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.OutgoingRtcpPackets)
}
PROTOBUF_NDEBUG_INLINE OutgoingRtcpPackets::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        raw_packet_(arena),
        timestamp_ms_deltas_(arena),
        raw_packet_blobs_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite OutgoingRtcpPackets_class_data_ =
    OutgoingRtcpPackets::InternalGenerateClassData_(OutgoingRtcpPackets_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OutgoingRtcpPackets::GetClassData() const {
  return OutgoingRtcpPackets_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OutgoingRtcpPackets::GetClassData() const {
  return OutgoingRtcpPackets_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const OutgoingRtcpPackets::ParseTableT_
    OutgoingRtcpPackets::_table_ =
        OutgoingRtcpPackets::InternalGenerateParseTable_(OutgoingRtcpPackets_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void OutgoingRtcpPackets::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.OutgoingRtcpPackets)
  ::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_.raw_packet_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.raw_packet_blobs_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bytes raw_packet = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_raw_packet();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // optional uint32 number_of_deltas = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes raw_packet_blobs = 102;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_raw_packet_blobs();
    target = stream->WriteBytesMaybeAliased(102, _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:webrtc.rtclog2.OutgoingRtcpPackets)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OutgoingRtcpPackets::ByteSizeLong(const MessageLite& base) {
  const OutgoingRtcpPackets& this_ = static_cast<const OutgoingRtcpPackets&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OutgoingRtcpPackets::ByteSizeLong() const {
  const OutgoingRtcpPackets& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.OutgoingRtcpPackets)
  ::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)) {
    // optional bytes raw_packet = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_packet());
    }
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes raw_packet_blobs = 102;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_packet_blobs());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 number_of_deltas = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 OutgoingRtcpPackets::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<OutgoingRtcpPackets*>(&to_msg);
  auto& from = static_cast<const OutgoingRtcpPackets&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.OutgoingRtcpPackets)
  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_set_raw_packet(from._internal_raw_packet());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_raw_packet_blobs(from._internal_raw_packet_blobs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void OutgoingRtcpPackets::InternalSwap(OutgoingRtcpPackets* 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_.raw_packet_, &other->_impl_.raw_packet_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.raw_packet_blobs_, &other->_impl_.raw_packet_blobs_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.number_of_deltas_)
      + sizeof(OutgoingRtcpPackets::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(OutgoingRtcpPackets, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AudioPlayoutEvents* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.AudioPlayoutEvents)
}
PROTOBUF_NDEBUG_INLINE AudioPlayoutEvents::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        local_ssrc_deltas_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AudioPlayoutEvents_class_data_ =
    AudioPlayoutEvents::InternalGenerateClassData_(AudioPlayoutEvents_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioPlayoutEvents::GetClassData() const {
  return AudioPlayoutEvents_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioPlayoutEvents::GetClassData() const {
  return AudioPlayoutEvents_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AudioPlayoutEvents::ParseTableT_
    AudioPlayoutEvents::_table_ =
        AudioPlayoutEvents::InternalGenerateParseTable_(AudioPlayoutEvents_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AudioPlayoutEvents::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.AudioPlayoutEvents)
  ::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_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.local_ssrc_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 local_ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_local_ssrc(), target);
  }

  // optional uint32 number_of_deltas = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes local_ssrc_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_local_ssrc_deltas();
    target = stream->WriteBytesMaybeAliased(102, _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:webrtc.rtclog2.AudioPlayoutEvents)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AudioPlayoutEvents::ByteSizeLong(const MessageLite& base) {
  const AudioPlayoutEvents& this_ = static_cast<const AudioPlayoutEvents&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AudioPlayoutEvents::ByteSizeLong() const {
  const AudioPlayoutEvents& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.AudioPlayoutEvents)
  ::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)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes local_ssrc_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_local_ssrc_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 local_ssrc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_local_ssrc());
    }
    // optional uint32 number_of_deltas = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 AudioPlayoutEvents::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AudioPlayoutEvents*>(&to_msg);
  auto& from = static_cast<const AudioPlayoutEvents&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.AudioPlayoutEvents)
  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_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_local_ssrc_deltas(from._internal_local_ssrc_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.local_ssrc_ = from._impl_.local_ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AudioPlayoutEvents::InternalSwap(AudioPlayoutEvents* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.local_ssrc_deltas_, &other->_impl_.local_ssrc_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.number_of_deltas_)
      + sizeof(AudioPlayoutEvents::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(AudioPlayoutEvents, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  NetEqSetMinimumDelay* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.NetEqSetMinimumDelay)
}
PROTOBUF_NDEBUG_INLINE NetEqSetMinimumDelay::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        remote_ssrc_deltas_(arena),
        minimum_delay_ms_deltas_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetEqSetMinimumDelay_class_data_ =
    NetEqSetMinimumDelay::InternalGenerateClassData_(NetEqSetMinimumDelay_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NetEqSetMinimumDelay::GetClassData() const {
  return NetEqSetMinimumDelay_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NetEqSetMinimumDelay::GetClassData() const {
  return NetEqSetMinimumDelay_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const NetEqSetMinimumDelay::ParseTableT_
    NetEqSetMinimumDelay::_table_ =
        NetEqSetMinimumDelay::InternalGenerateParseTable_(NetEqSetMinimumDelay_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void NetEqSetMinimumDelay::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.NetEqSetMinimumDelay)
  ::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_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.remote_ssrc_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.minimum_delay_ms_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional fixed32 remote_ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        2, this_._internal_remote_ssrc(), target);
  }

  // optional int32 minimum_delay_ms = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_minimum_delay_ms(), target);
  }

  // optional uint32 number_of_deltas = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes remote_ssrc_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_remote_ssrc_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes minimum_delay_ms_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_minimum_delay_ms_deltas();
    target = stream->WriteBytesMaybeAliased(103, _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:webrtc.rtclog2.NetEqSetMinimumDelay)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t NetEqSetMinimumDelay::ByteSizeLong(const MessageLite& base) {
  const NetEqSetMinimumDelay& this_ = static_cast<const NetEqSetMinimumDelay&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t NetEqSetMinimumDelay::ByteSizeLong() const {
  const NetEqSetMinimumDelay& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.NetEqSetMinimumDelay)
  ::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];
  total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x0000006fU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes remote_ssrc_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_remote_ssrc_deltas());
    }
    // optional bytes minimum_delay_ms_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_minimum_delay_ms_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional int32 minimum_delay_ms = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_minimum_delay_ms());
    }
    // optional uint32 number_of_deltas = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 NetEqSetMinimumDelay::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<NetEqSetMinimumDelay*>(&to_msg);
  auto& from = static_cast<const NetEqSetMinimumDelay&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.NetEqSetMinimumDelay)
  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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_remote_ssrc_deltas(from._internal_remote_ssrc_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_minimum_delay_ms_deltas(from._internal_minimum_delay_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.remote_ssrc_ = from._impl_.remote_ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.minimum_delay_ms_ = from._impl_.minimum_delay_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void NetEqSetMinimumDelay::InternalSwap(NetEqSetMinimumDelay* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.remote_ssrc_deltas_, &other->_impl_.remote_ssrc_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.minimum_delay_ms_deltas_, &other->_impl_.minimum_delay_ms_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.number_of_deltas_)
      + sizeof(NetEqSetMinimumDelay::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(NetEqSetMinimumDelay, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

FrameDecodedEvents::FrameDecodedEvents(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameDecodedEvents_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.FrameDecodedEvents)
}
PROTOBUF_NDEBUG_INLINE FrameDecodedEvents::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::FrameDecodedEvents& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        ssrc_deltas_(arena, from.ssrc_deltas_),
        render_time_ms_deltas_(arena, from.render_time_ms_deltas_),
        width_deltas_(arena, from.width_deltas_),
        height_deltas_(arena, from.height_deltas_),
        codec_deltas_(arena, from.codec_deltas_),
        qp_deltas_(arena, from.qp_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FrameDecodedEvents* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.FrameDecodedEvents)
}
PROTOBUF_NDEBUG_INLINE FrameDecodedEvents::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        ssrc_deltas_(arena),
        render_time_ms_deltas_(arena),
        width_deltas_(arena),
        height_deltas_(arena),
        codec_deltas_(arena),
        qp_deltas_(arena) {}

inline void FrameDecodedEvents::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
FrameDecodedEvents::~FrameDecodedEvents() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.FrameDecodedEvents)
  SharedDtor(*this);
}
inline void FrameDecodedEvents::SharedDtor(MessageLite& self) {
  FrameDecodedEvents& this_ = static_cast<FrameDecodedEvents&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.ssrc_deltas_.Destroy();
  this_._impl_.render_time_ms_deltas_.Destroy();
  this_._impl_.width_deltas_.Destroy();
  this_._impl_.height_deltas_.Destroy();
  this_._impl_.codec_deltas_.Destroy();
  this_._impl_.qp_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FrameDecodedEvents_class_data_ =
    FrameDecodedEvents::InternalGenerateClassData_(FrameDecodedEvents_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameDecodedEvents::GetClassData() const {
  return FrameDecodedEvents_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameDecodedEvents::GetClassData() const {
  return FrameDecodedEvents_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FrameDecodedEvents::ParseTableT_
    FrameDecodedEvents::_table_ =
        FrameDecodedEvents::InternalGenerateParseTable_(FrameDecodedEvents_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FrameDecodedEvents::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.FrameDecodedEvents)
  ::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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.ssrc_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.render_time_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.width_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.height_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.codec_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.qp_deltas_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.timestamp_ms_ = ::int64_t{0};
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.render_time_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.render_time_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional fixed32 ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        2, this_._internal_ssrc(), target);
  }

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

  // optional int32 width = 4;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_width(), target);
  }

  // optional int32 height = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_height(), target);
  }

  // optional .webrtc.rtclog2.FrameDecodedEvents.Codec codec = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_codec(), target);
  }

  // optional uint32 qp = 7;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_qp(), target);
  }

  // optional uint32 number_of_deltas = 15;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes ssrc_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_ssrc_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes render_time_ms_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_render_time_ms_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes width_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_width_deltas();
    target = stream->WriteBytesMaybeAliased(104, _s, target);
  }

  // optional bytes height_deltas = 105;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_height_deltas();
    target = stream->WriteBytesMaybeAliased(105, _s, target);
  }

  // optional bytes codec_deltas = 106;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_codec_deltas();
    target = stream->WriteBytesMaybeAliased(106, _s, target);
  }

  // optional bytes qp_deltas = 107;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_qp_deltas();
    target = stream->WriteBytesMaybeAliased(107, _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:webrtc.rtclog2.FrameDecodedEvents)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FrameDecodedEvents::ByteSizeLong(const MessageLite& base) {
  const FrameDecodedEvents& this_ = static_cast<const FrameDecodedEvents&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FrameDecodedEvents::ByteSizeLong() const {
  const FrameDecodedEvents& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.FrameDecodedEvents)
  ::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];
  total_size += static_cast<bool>(0x00000200U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes ssrc_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_ssrc_deltas());
    }
    // optional bytes render_time_ms_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_render_time_ms_deltas());
    }
    // optional bytes width_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_width_deltas());
    }
    // optional bytes height_deltas = 105;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_height_deltas());
    }
    // optional bytes codec_deltas = 106;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_codec_deltas());
    }
    // optional bytes qp_deltas = 107;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_qp_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007d00U)) {
    // optional int64 render_time_ms = 3;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_render_time_ms());
    }
    // optional int32 width = 4;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_width());
    }
    // optional int32 height = 5;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_height());
    }
    // optional .webrtc.rtclog2.FrameDecodedEvents.Codec codec = 6;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_codec());
    }
    // optional uint32 qp = 7;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_qp());
    }
    // optional uint32 number_of_deltas = 15;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 FrameDecodedEvents::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FrameDecodedEvents*>(&to_msg);
  auto& from = static_cast<const FrameDecodedEvents&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.FrameDecodedEvents)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_ssrc_deltas(from._internal_ssrc_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_render_time_ms_deltas(from._internal_render_time_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_width_deltas(from._internal_width_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_height_deltas(from._internal_height_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_codec_deltas(from._internal_codec_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_qp_deltas(from._internal_qp_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.render_time_ms_ = from._impl_.render_time_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.ssrc_ = from._impl_.ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.width_ = from._impl_.width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.codec_ = from._impl_.codec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.qp_ = from._impl_.qp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FrameDecodedEvents::InternalSwap(FrameDecodedEvents* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ssrc_deltas_, &other->_impl_.ssrc_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.render_time_ms_deltas_, &other->_impl_.render_time_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.width_deltas_, &other->_impl_.width_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.height_deltas_, &other->_impl_.height_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.codec_deltas_, &other->_impl_.codec_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.qp_deltas_, &other->_impl_.qp_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.number_of_deltas_)
      + sizeof(FrameDecodedEvents::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(FrameDecodedEvents, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

BeginLogEvent::BeginLogEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BeginLogEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.BeginLogEvent)
}
BeginLogEvent::BeginLogEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BeginLogEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BeginLogEvent_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 BeginLogEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BeginLogEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, version_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::version_));
}
BeginLogEvent::~BeginLogEvent() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.BeginLogEvent)
  SharedDtor(*this);
}
inline void BeginLogEvent::SharedDtor(MessageLite& self) {
  BeginLogEvent& this_ = static_cast<BeginLogEvent&>(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 BeginLogEvent_class_data_ =
    BeginLogEvent::InternalGenerateClassData_(BeginLogEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BeginLogEvent::GetClassData() const {
  return BeginLogEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BeginLogEvent::GetClassData() const {
  return BeginLogEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BeginLogEvent::ParseTableT_
    BeginLogEvent::_table_ =
        BeginLogEvent::InternalGenerateParseTable_(BeginLogEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BeginLogEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.BeginLogEvent)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.version_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.version_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_version(), target);
  }

  // optional int64 utc_time_ms = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_utc_time_ms(), 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:webrtc.rtclog2.BeginLogEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BeginLogEvent::ByteSizeLong(const MessageLite& base) {
  const BeginLogEvent& this_ = static_cast<const BeginLogEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BeginLogEvent::ByteSizeLong() const {
  const BeginLogEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.BeginLogEvent)
  ::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)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional int64 utc_time_ms = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_utc_time_ms());
    }
    // optional uint32 version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_version());
    }
  }
  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 BeginLogEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BeginLogEvent*>(&to_msg);
  auto& from = static_cast<const BeginLogEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.BeginLogEvent)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.utc_time_ms_ = from._impl_.utc_time_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.version_ = from._impl_.version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BeginLogEvent::InternalSwap(BeginLogEvent* 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(BeginLogEvent, _impl_.version_)
      + sizeof(BeginLogEvent::_impl_.version_)
      - PROTOBUF_FIELD_OFFSET(BeginLogEvent, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

EndLogEvent::EndLogEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EndLogEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.EndLogEvent)
}
EndLogEvent::EndLogEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EndLogEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EndLogEvent_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 EndLogEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void EndLogEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.timestamp_ms_ = {};
}
EndLogEvent::~EndLogEvent() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.EndLogEvent)
  SharedDtor(*this);
}
inline void EndLogEvent::SharedDtor(MessageLite& self) {
  EndLogEvent& this_ = static_cast<EndLogEvent&>(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 EndLogEvent_class_data_ =
    EndLogEvent::InternalGenerateClassData_(EndLogEvent_globals_._default);

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

  _impl_.timestamp_ms_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), 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:webrtc.rtclog2.EndLogEvent)
  return target;
}

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

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

   {
    // optional int64 timestamp_ms = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  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 EndLogEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EndLogEvent*>(&to_msg);
  auto& from = static_cast<const EndLogEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.EndLogEvent)
  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)) {
    _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void EndLogEvent::InternalSwap(EndLogEvent* 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_.timestamp_ms_, other->_impl_.timestamp_ms_);
}

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

LossBasedBweUpdates::LossBasedBweUpdates(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LossBasedBweUpdates_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.LossBasedBweUpdates)
}
PROTOBUF_NDEBUG_INLINE LossBasedBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::LossBasedBweUpdates& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        bitrate_bps_deltas_(arena, from.bitrate_bps_deltas_),
        fraction_loss_deltas_(arena, from.fraction_loss_deltas_),
        total_packets_deltas_(arena, from.total_packets_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  LossBasedBweUpdates* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.LossBasedBweUpdates)
}
PROTOBUF_NDEBUG_INLINE LossBasedBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        bitrate_bps_deltas_(arena),
        fraction_loss_deltas_(arena),
        total_packets_deltas_(arena) {}

inline void LossBasedBweUpdates::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
LossBasedBweUpdates::~LossBasedBweUpdates() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.LossBasedBweUpdates)
  SharedDtor(*this);
}
inline void LossBasedBweUpdates::SharedDtor(MessageLite& self) {
  LossBasedBweUpdates& this_ = static_cast<LossBasedBweUpdates&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.bitrate_bps_deltas_.Destroy();
  this_._impl_.fraction_loss_deltas_.Destroy();
  this_._impl_.total_packets_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite LossBasedBweUpdates_class_data_ =
    LossBasedBweUpdates::InternalGenerateClassData_(LossBasedBweUpdates_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LossBasedBweUpdates::GetClassData() const {
  return LossBasedBweUpdates_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LossBasedBweUpdates::GetClassData() const {
  return LossBasedBweUpdates_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const LossBasedBweUpdates::ParseTableT_
    LossBasedBweUpdates::_table_ =
        LossBasedBweUpdates::InternalGenerateParseTable_(LossBasedBweUpdates_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void LossBasedBweUpdates::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.LossBasedBweUpdates)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.bitrate_bps_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.fraction_loss_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.total_packets_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.total_packets_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.total_packets_));
  }
  _impl_.number_of_deltas_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 bitrate_bps = 2;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_bitrate_bps(), target);
  }

  // optional uint32 fraction_loss = 3;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_fraction_loss(), target);
  }

  // optional uint32 total_packets = 4;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_total_packets(), target);
  }

  // optional uint32 number_of_deltas = 5;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes bitrate_bps_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_bitrate_bps_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes fraction_loss_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_fraction_loss_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes total_packets_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_total_packets_deltas();
    target = stream->WriteBytesMaybeAliased(104, _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:webrtc.rtclog2.LossBasedBweUpdates)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t LossBasedBweUpdates::ByteSizeLong(const MessageLite& base) {
  const LossBasedBweUpdates& this_ = static_cast<const LossBasedBweUpdates&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t LossBasedBweUpdates::ByteSizeLong() const {
  const LossBasedBweUpdates& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.LossBasedBweUpdates)
  ::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, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes bitrate_bps_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_bitrate_bps_deltas());
    }
    // optional bytes fraction_loss_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_fraction_loss_deltas());
    }
    // optional bytes total_packets_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_total_packets_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 bitrate_bps = 2;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_bitrate_bps());
    }
    // optional uint32 fraction_loss = 3;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_fraction_loss());
    }
    // optional uint32 total_packets = 4;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_total_packets());
    }
  }
   {
    // optional uint32 number_of_deltas = 5;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 LossBasedBweUpdates::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LossBasedBweUpdates*>(&to_msg);
  auto& from = static_cast<const LossBasedBweUpdates&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.LossBasedBweUpdates)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_bitrate_bps_deltas(from._internal_bitrate_bps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_fraction_loss_deltas(from._internal_fraction_loss_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_total_packets_deltas(from._internal_total_packets_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.bitrate_bps_ = from._impl_.bitrate_bps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.fraction_loss_ = from._impl_.fraction_loss_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.total_packets_ = from._impl_.total_packets_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LossBasedBweUpdates::InternalSwap(LossBasedBweUpdates* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bitrate_bps_deltas_, &other->_impl_.bitrate_bps_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fraction_loss_deltas_, &other->_impl_.fraction_loss_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.total_packets_deltas_, &other->_impl_.total_packets_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.number_of_deltas_)
      + sizeof(LossBasedBweUpdates::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(LossBasedBweUpdates, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DelayBasedBweUpdates* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.DelayBasedBweUpdates)
}
PROTOBUF_NDEBUG_INLINE DelayBasedBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        bitrate_bps_deltas_(arena),
        detector_state_deltas_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DelayBasedBweUpdates_class_data_ =
    DelayBasedBweUpdates::InternalGenerateClassData_(DelayBasedBweUpdates_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DelayBasedBweUpdates::GetClassData() const {
  return DelayBasedBweUpdates_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DelayBasedBweUpdates::GetClassData() const {
  return DelayBasedBweUpdates_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DelayBasedBweUpdates::ParseTableT_
    DelayBasedBweUpdates::_table_ =
        DelayBasedBweUpdates::InternalGenerateParseTable_(DelayBasedBweUpdates_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DelayBasedBweUpdates::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.DelayBasedBweUpdates)
  ::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_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.bitrate_bps_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.detector_state_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 bitrate_bps = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_bitrate_bps(), target);
  }

  // optional .webrtc.rtclog2.DelayBasedBweUpdates.DetectorState detector_state = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_detector_state(), target);
  }

  // optional uint32 number_of_deltas = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes bitrate_bps_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_bitrate_bps_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes detector_state_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_detector_state_deltas();
    target = stream->WriteBytesMaybeAliased(103, _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:webrtc.rtclog2.DelayBasedBweUpdates)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DelayBasedBweUpdates::ByteSizeLong(const MessageLite& base) {
  const DelayBasedBweUpdates& this_ = static_cast<const DelayBasedBweUpdates&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DelayBasedBweUpdates::ByteSizeLong() const {
  const DelayBasedBweUpdates& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.DelayBasedBweUpdates)
  ::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, 0x0000007fU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes bitrate_bps_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_bitrate_bps_deltas());
    }
    // optional bytes detector_state_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_detector_state_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 bitrate_bps = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_bitrate_bps());
    }
    // optional .webrtc.rtclog2.DelayBasedBweUpdates.DetectorState detector_state = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_detector_state());
    }
    // optional uint32 number_of_deltas = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 DelayBasedBweUpdates::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DelayBasedBweUpdates*>(&to_msg);
  auto& from = static_cast<const DelayBasedBweUpdates&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.DelayBasedBweUpdates)
  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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_bitrate_bps_deltas(from._internal_bitrate_bps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_detector_state_deltas(from._internal_detector_state_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.bitrate_bps_ = from._impl_.bitrate_bps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.detector_state_ = from._impl_.detector_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DelayBasedBweUpdates::InternalSwap(DelayBasedBweUpdates* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bitrate_bps_deltas_, &other->_impl_.bitrate_bps_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.detector_state_deltas_, &other->_impl_.detector_state_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.number_of_deltas_)
      + sizeof(DelayBasedBweUpdates::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(DelayBasedBweUpdates, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

ScreamBweUpdates::ScreamBweUpdates(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScreamBweUpdates_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.ScreamBweUpdates)
}
PROTOBUF_NDEBUG_INLINE ScreamBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::ScreamBweUpdates& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        ref_window_bytes_deltas_(arena, from.ref_window_bytes_deltas_),
        target_rate_kbps_deltas_(arena, from.target_rate_kbps_deltas_),
        smoothed_rtt_ms_deltas_(arena, from.smoothed_rtt_ms_deltas_),
        avg_queue_delay_ms_deltas_(arena, from.avg_queue_delay_ms_deltas_),
        l4s_marked_permille_deltas_(arena, from.l4s_marked_permille_deltas_),
        data_in_flight_bytes_deltas_(arena, from.data_in_flight_bytes_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScreamBweUpdates* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.ScreamBweUpdates)
}
PROTOBUF_NDEBUG_INLINE ScreamBweUpdates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        ref_window_bytes_deltas_(arena),
        target_rate_kbps_deltas_(arena),
        smoothed_rtt_ms_deltas_(arena),
        avg_queue_delay_ms_deltas_(arena),
        l4s_marked_permille_deltas_(arena),
        data_in_flight_bytes_deltas_(arena) {}

inline void ScreamBweUpdates::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
ScreamBweUpdates::~ScreamBweUpdates() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.ScreamBweUpdates)
  SharedDtor(*this);
}
inline void ScreamBweUpdates::SharedDtor(MessageLite& self) {
  ScreamBweUpdates& this_ = static_cast<ScreamBweUpdates&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.ref_window_bytes_deltas_.Destroy();
  this_._impl_.target_rate_kbps_deltas_.Destroy();
  this_._impl_.smoothed_rtt_ms_deltas_.Destroy();
  this_._impl_.avg_queue_delay_ms_deltas_.Destroy();
  this_._impl_.l4s_marked_permille_deltas_.Destroy();
  this_._impl_.data_in_flight_bytes_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScreamBweUpdates_class_data_ =
    ScreamBweUpdates::InternalGenerateClassData_(ScreamBweUpdates_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreamBweUpdates::GetClassData() const {
  return ScreamBweUpdates_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreamBweUpdates::GetClassData() const {
  return ScreamBweUpdates_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScreamBweUpdates::ParseTableT_
    ScreamBweUpdates::_table_ =
        ScreamBweUpdates::InternalGenerateParseTable_(ScreamBweUpdates_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScreamBweUpdates::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.ScreamBweUpdates)
  ::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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.ref_window_bytes_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.target_rate_kbps_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.smoothed_rtt_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.avg_queue_delay_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.l4s_marked_permille_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.data_in_flight_bytes_deltas_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.timestamp_ms_ = ::int64_t{0};
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.ref_window_bytes_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.ref_window_bytes_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 ref_window_bytes = 2;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_ref_window_bytes(), target);
  }

  // optional uint32 target_rate_kbps = 3;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_target_rate_kbps(), target);
  }

  // optional uint32 smoothed_rtt_ms = 4;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_smoothed_rtt_ms(), target);
  }

  // optional uint32 avg_queue_delay_ms = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_avg_queue_delay_ms(), target);
  }

  // optional uint32 l4s_marked_permille = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_l4s_marked_permille(), target);
  }

  // optional uint32 data_in_flight_bytes = 7;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_data_in_flight_bytes(), target);
  }

  // optional uint32 number_of_deltas = 15;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes ref_window_bytes_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_ref_window_bytes_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes target_rate_kbps_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_target_rate_kbps_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes smoothed_rtt_ms_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_smoothed_rtt_ms_deltas();
    target = stream->WriteBytesMaybeAliased(104, _s, target);
  }

  // optional bytes avg_queue_delay_ms_deltas = 105;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_avg_queue_delay_ms_deltas();
    target = stream->WriteBytesMaybeAliased(105, _s, target);
  }

  // optional bytes l4s_marked_permille_deltas = 106;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_l4s_marked_permille_deltas();
    target = stream->WriteBytesMaybeAliased(106, _s, target);
  }

  // optional bytes data_in_flight_bytes_deltas = 107;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_data_in_flight_bytes_deltas();
    target = stream->WriteBytesMaybeAliased(107, _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:webrtc.rtclog2.ScreamBweUpdates)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScreamBweUpdates::ByteSizeLong(const MessageLite& base) {
  const ScreamBweUpdates& this_ = static_cast<const ScreamBweUpdates&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScreamBweUpdates::ByteSizeLong() const {
  const ScreamBweUpdates& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.ScreamBweUpdates)
  ::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, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes ref_window_bytes_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_ref_window_bytes_deltas());
    }
    // optional bytes target_rate_kbps_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_target_rate_kbps_deltas());
    }
    // optional bytes smoothed_rtt_ms_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_smoothed_rtt_ms_deltas());
    }
    // optional bytes avg_queue_delay_ms_deltas = 105;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_avg_queue_delay_ms_deltas());
    }
    // optional bytes l4s_marked_permille_deltas = 106;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_l4s_marked_permille_deltas());
    }
    // optional bytes data_in_flight_bytes_deltas = 107;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_data_in_flight_bytes_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // optional uint32 ref_window_bytes = 2;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ref_window_bytes());
    }
    // optional uint32 target_rate_kbps = 3;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_target_rate_kbps());
    }
    // optional uint32 smoothed_rtt_ms = 4;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_smoothed_rtt_ms());
    }
    // optional uint32 avg_queue_delay_ms = 5;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_avg_queue_delay_ms());
    }
    // optional uint32 l4s_marked_permille = 6;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_l4s_marked_permille());
    }
    // optional uint32 data_in_flight_bytes = 7;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_data_in_flight_bytes());
    }
    // optional uint32 number_of_deltas = 15;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 ScreamBweUpdates::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScreamBweUpdates*>(&to_msg);
  auto& from = static_cast<const ScreamBweUpdates&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.ScreamBweUpdates)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_ref_window_bytes_deltas(from._internal_ref_window_bytes_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_target_rate_kbps_deltas(from._internal_target_rate_kbps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_smoothed_rtt_ms_deltas(from._internal_smoothed_rtt_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_avg_queue_delay_ms_deltas(from._internal_avg_queue_delay_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_l4s_marked_permille_deltas(from._internal_l4s_marked_permille_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_data_in_flight_bytes_deltas(from._internal_data_in_flight_bytes_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.ref_window_bytes_ = from._impl_.ref_window_bytes_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.target_rate_kbps_ = from._impl_.target_rate_kbps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.smoothed_rtt_ms_ = from._impl_.smoothed_rtt_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.avg_queue_delay_ms_ = from._impl_.avg_queue_delay_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.l4s_marked_permille_ = from._impl_.l4s_marked_permille_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.data_in_flight_bytes_ = from._impl_.data_in_flight_bytes_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScreamBweUpdates::InternalSwap(ScreamBweUpdates* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ref_window_bytes_deltas_, &other->_impl_.ref_window_bytes_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.target_rate_kbps_deltas_, &other->_impl_.target_rate_kbps_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.smoothed_rtt_ms_deltas_, &other->_impl_.smoothed_rtt_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.avg_queue_delay_ms_deltas_, &other->_impl_.avg_queue_delay_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.l4s_marked_permille_deltas_, &other->_impl_.l4s_marked_permille_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.data_in_flight_bytes_deltas_, &other->_impl_.data_in_flight_bytes_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.number_of_deltas_)
      + sizeof(ScreamBweUpdates::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(ScreamBweUpdates, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

RtpHeaderExtensionConfig::RtpHeaderExtensionConfig(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RtpHeaderExtensionConfig_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.RtpHeaderExtensionConfig)
}
RtpHeaderExtensionConfig::RtpHeaderExtensionConfig(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RtpHeaderExtensionConfig& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RtpHeaderExtensionConfig_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 RtpHeaderExtensionConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void RtpHeaderExtensionConfig::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, transmission_time_offset_id_),
           0,
           offsetof(Impl_, dependency_descriptor_id_) -
               offsetof(Impl_, transmission_time_offset_id_) +
               sizeof(Impl_::dependency_descriptor_id_));
}
RtpHeaderExtensionConfig::~RtpHeaderExtensionConfig() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.RtpHeaderExtensionConfig)
  SharedDtor(*this);
}
inline void RtpHeaderExtensionConfig::SharedDtor(MessageLite& self) {
  RtpHeaderExtensionConfig& this_ = static_cast<RtpHeaderExtensionConfig&>(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 RtpHeaderExtensionConfig_class_data_ =
    RtpHeaderExtensionConfig::InternalGenerateClassData_(RtpHeaderExtensionConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RtpHeaderExtensionConfig::GetClassData() const {
  return RtpHeaderExtensionConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RtpHeaderExtensionConfig::GetClassData() const {
  return RtpHeaderExtensionConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const RtpHeaderExtensionConfig::ParseTableT_
    RtpHeaderExtensionConfig::_table_ =
        RtpHeaderExtensionConfig::InternalGenerateParseTable_(RtpHeaderExtensionConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void RtpHeaderExtensionConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.RtpHeaderExtensionConfig)
  ::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, 0x0000003fU)) {
    ::memset(&_impl_.transmission_time_offset_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.dependency_descriptor_id_) -
        reinterpret_cast<char*>(&_impl_.transmission_time_offset_id_)) + sizeof(_impl_.dependency_descriptor_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 transmission_time_offset_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_transmission_time_offset_id(), target);
  }

  // optional int32 absolute_send_time_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_absolute_send_time_id(), target);
  }

  // optional int32 transport_sequence_number_id = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_transport_sequence_number_id(), target);
  }

  // optional int32 video_rotation_id = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_video_rotation_id(), target);
  }

  // optional int32 audio_level_id = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_audio_level_id(), target);
  }

  // optional int32 dependency_descriptor_id = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_dependency_descriptor_id(), 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:webrtc.rtclog2.RtpHeaderExtensionConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t RtpHeaderExtensionConfig::ByteSizeLong(const MessageLite& base) {
  const RtpHeaderExtensionConfig& this_ = static_cast<const RtpHeaderExtensionConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t RtpHeaderExtensionConfig::ByteSizeLong() const {
  const RtpHeaderExtensionConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.RtpHeaderExtensionConfig)
  ::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, 0x0000003fU)) {
    // optional int32 transmission_time_offset_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_transmission_time_offset_id());
    }
    // optional int32 absolute_send_time_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_absolute_send_time_id());
    }
    // optional int32 transport_sequence_number_id = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_transport_sequence_number_id());
    }
    // optional int32 video_rotation_id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_video_rotation_id());
    }
    // optional int32 audio_level_id = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_audio_level_id());
    }
    // optional int32 dependency_descriptor_id = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_dependency_descriptor_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 RtpHeaderExtensionConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<RtpHeaderExtensionConfig*>(&to_msg);
  auto& from = static_cast<const RtpHeaderExtensionConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.RtpHeaderExtensionConfig)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.transmission_time_offset_id_ = from._impl_.transmission_time_offset_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.absolute_send_time_id_ = from._impl_.absolute_send_time_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.transport_sequence_number_id_ = from._impl_.transport_sequence_number_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.video_rotation_id_ = from._impl_.video_rotation_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.audio_level_id_ = from._impl_.audio_level_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.dependency_descriptor_id_ = from._impl_.dependency_descriptor_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void RtpHeaderExtensionConfig::InternalSwap(RtpHeaderExtensionConfig* 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(RtpHeaderExtensionConfig, _impl_.dependency_descriptor_id_)
      + sizeof(RtpHeaderExtensionConfig::_impl_.dependency_descriptor_id_)
      - PROTOBUF_FIELD_OFFSET(RtpHeaderExtensionConfig, _impl_.transmission_time_offset_id_)>(
          reinterpret_cast<char*>(&_impl_.transmission_time_offset_id_),
          reinterpret_cast<char*>(&other->_impl_.transmission_time_offset_id_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  VideoRecvStreamConfig* 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_.header_extensions_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, rtx_ssrc_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::rtx_ssrc_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite VideoRecvStreamConfig_class_data_ =
    VideoRecvStreamConfig::InternalGenerateClassData_(VideoRecvStreamConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoRecvStreamConfig::GetClassData() const {
  return VideoRecvStreamConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoRecvStreamConfig::GetClassData() const {
  return VideoRecvStreamConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const VideoRecvStreamConfig::ParseTableT_
    VideoRecvStreamConfig::_table_ =
        VideoRecvStreamConfig::InternalGenerateParseTable_(VideoRecvStreamConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void VideoRecvStreamConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.VideoRecvStreamConfig)
  ::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_.header_extensions_ != nullptr);
    _impl_.header_extensions_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.rtx_ssrc_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.rtx_ssrc_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional uint32 remote_ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_remote_ssrc(), target);
  }

  // optional uint32 local_ssrc = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_local_ssrc(), target);
  }

  // optional uint32 rtx_ssrc = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_rtx_ssrc(), target);
  }

  // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.header_extensions_, this_._impl_.header_extensions_->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:webrtc.rtclog2.VideoRecvStreamConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t VideoRecvStreamConfig::ByteSizeLong(const MessageLite& base) {
  const VideoRecvStreamConfig& this_ = static_cast<const VideoRecvStreamConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t VideoRecvStreamConfig::ByteSizeLong() const {
  const VideoRecvStreamConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.VideoRecvStreamConfig)
  ::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)) {
    // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.header_extensions_);
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 remote_ssrc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_remote_ssrc());
    }
    // optional uint32 local_ssrc = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_local_ssrc());
    }
    // optional uint32 rtx_ssrc = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_rtx_ssrc());
    }
  }
  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 VideoRecvStreamConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<VideoRecvStreamConfig*>(&to_msg);
  auto& from = static_cast<const VideoRecvStreamConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.VideoRecvStreamConfig)
  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)) {
      ABSL_DCHECK(from._impl_.header_extensions_ != nullptr);
      if (_this->_impl_.header_extensions_ == nullptr) {
        _this->_impl_.header_extensions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_);
      } else {
        _this->_impl_.header_extensions_->MergeFrom(*from._impl_.header_extensions_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.remote_ssrc_ = from._impl_.remote_ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.local_ssrc_ = from._impl_.local_ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.rtx_ssrc_ = from._impl_.rtx_ssrc_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void VideoRecvStreamConfig::InternalSwap(VideoRecvStreamConfig* 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(VideoRecvStreamConfig, _impl_.rtx_ssrc_)
      + sizeof(VideoRecvStreamConfig::_impl_.rtx_ssrc_)
      - PROTOBUF_FIELD_OFFSET(VideoRecvStreamConfig, _impl_.header_extensions_)>(
          reinterpret_cast<char*>(&_impl_.header_extensions_),
          reinterpret_cast<char*>(&other->_impl_.header_extensions_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  VideoSendStreamConfig* 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_.header_extensions_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, rtx_ssrc_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::rtx_ssrc_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite VideoSendStreamConfig_class_data_ =
    VideoSendStreamConfig::InternalGenerateClassData_(VideoSendStreamConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoSendStreamConfig::GetClassData() const {
  return VideoSendStreamConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoSendStreamConfig::GetClassData() const {
  return VideoSendStreamConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const VideoSendStreamConfig::ParseTableT_
    VideoSendStreamConfig::_table_ =
        VideoSendStreamConfig::InternalGenerateParseTable_(VideoSendStreamConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void VideoSendStreamConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.VideoSendStreamConfig)
  ::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_.header_extensions_ != nullptr);
    _impl_.header_extensions_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.rtx_ssrc_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.rtx_ssrc_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional uint32 ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_ssrc(), target);
  }

  // optional uint32 rtx_ssrc = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_rtx_ssrc(), target);
  }

  // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.header_extensions_, this_._impl_.header_extensions_->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:webrtc.rtclog2.VideoSendStreamConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t VideoSendStreamConfig::ByteSizeLong(const MessageLite& base) {
  const VideoSendStreamConfig& this_ = static_cast<const VideoSendStreamConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t VideoSendStreamConfig::ByteSizeLong() const {
  const VideoSendStreamConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.VideoSendStreamConfig)
  ::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, 0x0000000fU)) {
    // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.header_extensions_);
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 ssrc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ssrc());
    }
    // optional uint32 rtx_ssrc = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_rtx_ssrc());
    }
  }
  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 VideoSendStreamConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<VideoSendStreamConfig*>(&to_msg);
  auto& from = static_cast<const VideoSendStreamConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.VideoSendStreamConfig)
  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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.header_extensions_ != nullptr);
      if (_this->_impl_.header_extensions_ == nullptr) {
        _this->_impl_.header_extensions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_);
      } else {
        _this->_impl_.header_extensions_->MergeFrom(*from._impl_.header_extensions_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.ssrc_ = from._impl_.ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.rtx_ssrc_ = from._impl_.rtx_ssrc_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void VideoSendStreamConfig::InternalSwap(VideoSendStreamConfig* 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(VideoSendStreamConfig, _impl_.rtx_ssrc_)
      + sizeof(VideoSendStreamConfig::_impl_.rtx_ssrc_)
      - PROTOBUF_FIELD_OFFSET(VideoSendStreamConfig, _impl_.header_extensions_)>(
          reinterpret_cast<char*>(&_impl_.header_extensions_),
          reinterpret_cast<char*>(&other->_impl_.header_extensions_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AudioRecvStreamConfig* 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_.header_extensions_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, local_ssrc_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::local_ssrc_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AudioRecvStreamConfig_class_data_ =
    AudioRecvStreamConfig::InternalGenerateClassData_(AudioRecvStreamConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioRecvStreamConfig::GetClassData() const {
  return AudioRecvStreamConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioRecvStreamConfig::GetClassData() const {
  return AudioRecvStreamConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AudioRecvStreamConfig::ParseTableT_
    AudioRecvStreamConfig::_table_ =
        AudioRecvStreamConfig::InternalGenerateParseTable_(AudioRecvStreamConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AudioRecvStreamConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.AudioRecvStreamConfig)
  ::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_.header_extensions_ != nullptr);
    _impl_.header_extensions_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.local_ssrc_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.local_ssrc_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional uint32 remote_ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_remote_ssrc(), target);
  }

  // optional uint32 local_ssrc = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_local_ssrc(), target);
  }

  // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.header_extensions_, this_._impl_.header_extensions_->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:webrtc.rtclog2.AudioRecvStreamConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AudioRecvStreamConfig::ByteSizeLong(const MessageLite& base) {
  const AudioRecvStreamConfig& this_ = static_cast<const AudioRecvStreamConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AudioRecvStreamConfig::ByteSizeLong() const {
  const AudioRecvStreamConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.AudioRecvStreamConfig)
  ::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, 0x0000000fU)) {
    // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.header_extensions_);
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 remote_ssrc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_remote_ssrc());
    }
    // optional uint32 local_ssrc = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_local_ssrc());
    }
  }
  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 AudioRecvStreamConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AudioRecvStreamConfig*>(&to_msg);
  auto& from = static_cast<const AudioRecvStreamConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.AudioRecvStreamConfig)
  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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.header_extensions_ != nullptr);
      if (_this->_impl_.header_extensions_ == nullptr) {
        _this->_impl_.header_extensions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_);
      } else {
        _this->_impl_.header_extensions_->MergeFrom(*from._impl_.header_extensions_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.remote_ssrc_ = from._impl_.remote_ssrc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.local_ssrc_ = from._impl_.local_ssrc_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AudioRecvStreamConfig::InternalSwap(AudioRecvStreamConfig* 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(AudioRecvStreamConfig, _impl_.local_ssrc_)
      + sizeof(AudioRecvStreamConfig::_impl_.local_ssrc_)
      - PROTOBUF_FIELD_OFFSET(AudioRecvStreamConfig, _impl_.header_extensions_)>(
          reinterpret_cast<char*>(&_impl_.header_extensions_),
          reinterpret_cast<char*>(&other->_impl_.header_extensions_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AudioSendStreamConfig* 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_.header_extensions_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, ssrc_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::ssrc_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AudioSendStreamConfig_class_data_ =
    AudioSendStreamConfig::InternalGenerateClassData_(AudioSendStreamConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioSendStreamConfig::GetClassData() const {
  return AudioSendStreamConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioSendStreamConfig::GetClassData() const {
  return AudioSendStreamConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AudioSendStreamConfig::ParseTableT_
    AudioSendStreamConfig::_table_ =
        AudioSendStreamConfig::InternalGenerateParseTable_(AudioSendStreamConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AudioSendStreamConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.AudioSendStreamConfig)
  ::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_.header_extensions_ != nullptr);
    _impl_.header_extensions_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.ssrc_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.ssrc_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional uint32 ssrc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_ssrc(), target);
  }

  // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.header_extensions_, this_._impl_.header_extensions_->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:webrtc.rtclog2.AudioSendStreamConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AudioSendStreamConfig::ByteSizeLong(const MessageLite& base) {
  const AudioSendStreamConfig& this_ = static_cast<const AudioSendStreamConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AudioSendStreamConfig::ByteSizeLong() const {
  const AudioSendStreamConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.AudioSendStreamConfig)
  ::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)) {
    // optional .webrtc.rtclog2.RtpHeaderExtensionConfig header_extensions = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.header_extensions_);
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 ssrc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ssrc());
    }
  }
  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 AudioSendStreamConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AudioSendStreamConfig*>(&to_msg);
  auto& from = static_cast<const AudioSendStreamConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.AudioSendStreamConfig)
  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)) {
      ABSL_DCHECK(from._impl_.header_extensions_ != nullptr);
      if (_this->_impl_.header_extensions_ == nullptr) {
        _this->_impl_.header_extensions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_extensions_);
      } else {
        _this->_impl_.header_extensions_->MergeFrom(*from._impl_.header_extensions_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.ssrc_ = from._impl_.ssrc_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AudioSendStreamConfig::InternalSwap(AudioSendStreamConfig* 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(AudioSendStreamConfig, _impl_.ssrc_)
      + sizeof(AudioSendStreamConfig::_impl_.ssrc_)
      - PROTOBUF_FIELD_OFFSET(AudioSendStreamConfig, _impl_.header_extensions_)>(
          reinterpret_cast<char*>(&_impl_.header_extensions_),
          reinterpret_cast<char*>(&other->_impl_.header_extensions_));
}

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

AudioNetworkAdaptations::AudioNetworkAdaptations(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AudioNetworkAdaptations_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.AudioNetworkAdaptations)
}
PROTOBUF_NDEBUG_INLINE AudioNetworkAdaptations::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::webrtc::rtclog2::AudioNetworkAdaptations& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        timestamp_ms_deltas_(arena, from.timestamp_ms_deltas_),
        bitrate_bps_deltas_(arena, from.bitrate_bps_deltas_),
        frame_length_ms_deltas_(arena, from.frame_length_ms_deltas_),
        uplink_packet_loss_fraction_deltas_(arena, from.uplink_packet_loss_fraction_deltas_),
        enable_fec_deltas_(arena, from.enable_fec_deltas_),
        enable_dtx_deltas_(arena, from.enable_dtx_deltas_),
        num_channels_deltas_(arena, from.num_channels_deltas_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AudioNetworkAdaptations* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.AudioNetworkAdaptations)
}
PROTOBUF_NDEBUG_INLINE AudioNetworkAdaptations::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        bitrate_bps_deltas_(arena),
        frame_length_ms_deltas_(arena),
        uplink_packet_loss_fraction_deltas_(arena),
        enable_fec_deltas_(arena),
        enable_dtx_deltas_(arena),
        num_channels_deltas_(arena) {}

inline void AudioNetworkAdaptations::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));
}
AudioNetworkAdaptations::~AudioNetworkAdaptations() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.AudioNetworkAdaptations)
  SharedDtor(*this);
}
inline void AudioNetworkAdaptations::SharedDtor(MessageLite& self) {
  AudioNetworkAdaptations& this_ = static_cast<AudioNetworkAdaptations&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.timestamp_ms_deltas_.Destroy();
  this_._impl_.bitrate_bps_deltas_.Destroy();
  this_._impl_.frame_length_ms_deltas_.Destroy();
  this_._impl_.uplink_packet_loss_fraction_deltas_.Destroy();
  this_._impl_.enable_fec_deltas_.Destroy();
  this_._impl_.enable_dtx_deltas_.Destroy();
  this_._impl_.num_channels_deltas_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AudioNetworkAdaptations_class_data_ =
    AudioNetworkAdaptations::InternalGenerateClassData_(AudioNetworkAdaptations_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioNetworkAdaptations::GetClassData() const {
  return AudioNetworkAdaptations_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AudioNetworkAdaptations::GetClassData() const {
  return AudioNetworkAdaptations_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AudioNetworkAdaptations::ParseTableT_
    AudioNetworkAdaptations::_table_ =
        AudioNetworkAdaptations::InternalGenerateParseTable_(AudioNetworkAdaptations_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AudioNetworkAdaptations::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.AudioNetworkAdaptations)
  ::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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.bitrate_bps_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.frame_length_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.uplink_packet_loss_fraction_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.enable_fec_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.enable_dtx_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.num_channels_deltas_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.timestamp_ms_ = ::int64_t{0};
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.bitrate_bps_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.bitrate_bps_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional int32 bitrate_bps = 2;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_bitrate_bps(), target);
  }

  // optional int32 frame_length_ms = 3;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_frame_length_ms(), target);
  }

  // optional uint32 uplink_packet_loss_fraction = 4;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_uplink_packet_loss_fraction(), target);
  }

  // optional bool enable_fec = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_enable_fec(), target);
  }

  // optional bool enable_dtx = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_enable_dtx(), target);
  }

  // optional uint32 num_channels = 7;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_num_channels(), target);
  }

  // optional uint32 number_of_deltas = 8;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes bitrate_bps_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_bitrate_bps_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes frame_length_ms_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_frame_length_ms_deltas();
    target = stream->WriteBytesMaybeAliased(103, _s, target);
  }

  // optional bytes uplink_packet_loss_fraction_deltas = 104;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_uplink_packet_loss_fraction_deltas();
    target = stream->WriteBytesMaybeAliased(104, _s, target);
  }

  // optional bytes enable_fec_deltas = 105;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_enable_fec_deltas();
    target = stream->WriteBytesMaybeAliased(105, _s, target);
  }

  // optional bytes enable_dtx_deltas = 106;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_enable_dtx_deltas();
    target = stream->WriteBytesMaybeAliased(106, _s, target);
  }

  // optional bytes num_channels_deltas = 107;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_num_channels_deltas();
    target = stream->WriteBytesMaybeAliased(107, _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:webrtc.rtclog2.AudioNetworkAdaptations)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AudioNetworkAdaptations::ByteSizeLong(const MessageLite& base) {
  const AudioNetworkAdaptations& this_ = static_cast<const AudioNetworkAdaptations&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AudioNetworkAdaptations::ByteSizeLong() const {
  const AudioNetworkAdaptations& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.AudioNetworkAdaptations)
  ::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];
  total_size += ::absl::popcount(0x00001800U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes bitrate_bps_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_bitrate_bps_deltas());
    }
    // optional bytes frame_length_ms_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_frame_length_ms_deltas());
    }
    // optional bytes uplink_packet_loss_fraction_deltas = 104;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_uplink_packet_loss_fraction_deltas());
    }
    // optional bytes enable_fec_deltas = 105;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_enable_fec_deltas());
    }
    // optional bytes enable_dtx_deltas = 106;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_enable_dtx_deltas());
    }
    // optional bytes num_channels_deltas = 107;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_num_channels_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00006700U)) {
    // optional int32 bitrate_bps = 2;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_bitrate_bps());
    }
    // optional int32 frame_length_ms = 3;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_frame_length_ms());
    }
    // optional uint32 uplink_packet_loss_fraction = 4;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_uplink_packet_loss_fraction());
    }
    // optional uint32 num_channels = 7;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_channels());
    }
    // optional uint32 number_of_deltas = 8;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 AudioNetworkAdaptations::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AudioNetworkAdaptations*>(&to_msg);
  auto& from = static_cast<const AudioNetworkAdaptations&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.AudioNetworkAdaptations)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_bitrate_bps_deltas(from._internal_bitrate_bps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_frame_length_ms_deltas(from._internal_frame_length_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_uplink_packet_loss_fraction_deltas(from._internal_uplink_packet_loss_fraction_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_enable_fec_deltas(from._internal_enable_fec_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_enable_dtx_deltas(from._internal_enable_dtx_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_num_channels_deltas(from._internal_num_channels_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.bitrate_bps_ = from._impl_.bitrate_bps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.frame_length_ms_ = from._impl_.frame_length_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.uplink_packet_loss_fraction_ = from._impl_.uplink_packet_loss_fraction_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.enable_fec_ = from._impl_.enable_fec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.enable_dtx_ = from._impl_.enable_dtx_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.num_channels_ = from._impl_.num_channels_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AudioNetworkAdaptations::InternalSwap(AudioNetworkAdaptations* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bitrate_bps_deltas_, &other->_impl_.bitrate_bps_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.frame_length_ms_deltas_, &other->_impl_.frame_length_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uplink_packet_loss_fraction_deltas_, &other->_impl_.uplink_packet_loss_fraction_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.enable_fec_deltas_, &other->_impl_.enable_fec_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.enable_dtx_deltas_, &other->_impl_.enable_dtx_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.num_channels_deltas_, &other->_impl_.num_channels_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.number_of_deltas_)
      + sizeof(AudioNetworkAdaptations::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(AudioNetworkAdaptations, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

BweProbeCluster::BweProbeCluster(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeCluster_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.BweProbeCluster)
}
BweProbeCluster::BweProbeCluster(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BweProbeCluster& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeCluster_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 BweProbeCluster::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BweProbeCluster::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, min_bytes_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::min_bytes_));
}
BweProbeCluster::~BweProbeCluster() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.BweProbeCluster)
  SharedDtor(*this);
}
inline void BweProbeCluster::SharedDtor(MessageLite& self) {
  BweProbeCluster& this_ = static_cast<BweProbeCluster&>(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 BweProbeCluster_class_data_ =
    BweProbeCluster::InternalGenerateClassData_(BweProbeCluster_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeCluster::GetClassData() const {
  return BweProbeCluster_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeCluster::GetClassData() const {
  return BweProbeCluster_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BweProbeCluster::ParseTableT_
    BweProbeCluster::_table_ =
        BweProbeCluster::InternalGenerateParseTable_(BweProbeCluster_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BweProbeCluster::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.BweProbeCluster)
  ::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, 0x0000001fU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.min_bytes_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.min_bytes_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_id(), target);
  }

  // optional uint32 bitrate_bps = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_bitrate_bps(), target);
  }

  // optional uint32 min_packets = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_min_packets(), target);
  }

  // optional uint32 min_bytes = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_min_bytes(), 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:webrtc.rtclog2.BweProbeCluster)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BweProbeCluster::ByteSizeLong(const MessageLite& base) {
  const BweProbeCluster& this_ = static_cast<const BweProbeCluster&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BweProbeCluster::ByteSizeLong() const {
  const BweProbeCluster& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.BweProbeCluster)
  ::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)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_id());
    }
    // optional uint32 bitrate_bps = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_bitrate_bps());
    }
    // optional uint32 min_packets = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_min_packets());
    }
    // optional uint32 min_bytes = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_min_bytes());
    }
  }
  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 BweProbeCluster::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BweProbeCluster*>(&to_msg);
  auto& from = static_cast<const BweProbeCluster&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.BweProbeCluster)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.bitrate_bps_ = from._impl_.bitrate_bps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.min_packets_ = from._impl_.min_packets_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.min_bytes_ = from._impl_.min_bytes_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BweProbeCluster::InternalSwap(BweProbeCluster* 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(BweProbeCluster, _impl_.min_bytes_)
      + sizeof(BweProbeCluster::_impl_.min_bytes_)
      - PROTOBUF_FIELD_OFFSET(BweProbeCluster, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

BweProbeResultSuccess::BweProbeResultSuccess(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeResultSuccess_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.BweProbeResultSuccess)
}
BweProbeResultSuccess::BweProbeResultSuccess(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BweProbeResultSuccess& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeResultSuccess_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 BweProbeResultSuccess::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BweProbeResultSuccess::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, bitrate_bps_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::bitrate_bps_));
}
BweProbeResultSuccess::~BweProbeResultSuccess() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.BweProbeResultSuccess)
  SharedDtor(*this);
}
inline void BweProbeResultSuccess::SharedDtor(MessageLite& self) {
  BweProbeResultSuccess& this_ = static_cast<BweProbeResultSuccess&>(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 BweProbeResultSuccess_class_data_ =
    BweProbeResultSuccess::InternalGenerateClassData_(BweProbeResultSuccess_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeResultSuccess::GetClassData() const {
  return BweProbeResultSuccess_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeResultSuccess::GetClassData() const {
  return BweProbeResultSuccess_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BweProbeResultSuccess::ParseTableT_
    BweProbeResultSuccess::_table_ =
        BweProbeResultSuccess::InternalGenerateParseTable_(BweProbeResultSuccess_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BweProbeResultSuccess::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.BweProbeResultSuccess)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.bitrate_bps_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.bitrate_bps_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_id(), target);
  }

  // optional uint32 bitrate_bps = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_bitrate_bps(), 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:webrtc.rtclog2.BweProbeResultSuccess)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BweProbeResultSuccess::ByteSizeLong(const MessageLite& base) {
  const BweProbeResultSuccess& this_ = static_cast<const BweProbeResultSuccess&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BweProbeResultSuccess::ByteSizeLong() const {
  const BweProbeResultSuccess& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.BweProbeResultSuccess)
  ::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)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_id());
    }
    // optional uint32 bitrate_bps = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_bitrate_bps());
    }
  }
  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 BweProbeResultSuccess::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BweProbeResultSuccess*>(&to_msg);
  auto& from = static_cast<const BweProbeResultSuccess&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.BweProbeResultSuccess)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.bitrate_bps_ = from._impl_.bitrate_bps_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BweProbeResultSuccess::InternalSwap(BweProbeResultSuccess* 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(BweProbeResultSuccess, _impl_.bitrate_bps_)
      + sizeof(BweProbeResultSuccess::_impl_.bitrate_bps_)
      - PROTOBUF_FIELD_OFFSET(BweProbeResultSuccess, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

BweProbeResultFailure::BweProbeResultFailure(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeResultFailure_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.BweProbeResultFailure)
}
BweProbeResultFailure::BweProbeResultFailure(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BweProbeResultFailure& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BweProbeResultFailure_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 BweProbeResultFailure::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BweProbeResultFailure::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, failure_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::failure_));
}
BweProbeResultFailure::~BweProbeResultFailure() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.BweProbeResultFailure)
  SharedDtor(*this);
}
inline void BweProbeResultFailure::SharedDtor(MessageLite& self) {
  BweProbeResultFailure& this_ = static_cast<BweProbeResultFailure&>(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 BweProbeResultFailure_class_data_ =
    BweProbeResultFailure::InternalGenerateClassData_(BweProbeResultFailure_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeResultFailure::GetClassData() const {
  return BweProbeResultFailure_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BweProbeResultFailure::GetClassData() const {
  return BweProbeResultFailure_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BweProbeResultFailure::ParseTableT_
    BweProbeResultFailure::_table_ =
        BweProbeResultFailure::InternalGenerateParseTable_(BweProbeResultFailure_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BweProbeResultFailure::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.BweProbeResultFailure)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.failure_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.failure_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_id(), target);
  }

  // optional .webrtc.rtclog2.BweProbeResultFailure.FailureReason failure = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_failure(), 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:webrtc.rtclog2.BweProbeResultFailure)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BweProbeResultFailure::ByteSizeLong(const MessageLite& base) {
  const BweProbeResultFailure& this_ = static_cast<const BweProbeResultFailure&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BweProbeResultFailure::ByteSizeLong() const {
  const BweProbeResultFailure& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.BweProbeResultFailure)
  ::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)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_id());
    }
    // optional .webrtc.rtclog2.BweProbeResultFailure.FailureReason failure = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_failure());
    }
  }
  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 BweProbeResultFailure::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BweProbeResultFailure*>(&to_msg);
  auto& from = static_cast<const BweProbeResultFailure&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.BweProbeResultFailure)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.failure_ = from._impl_.failure_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BweProbeResultFailure::InternalSwap(BweProbeResultFailure* 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(BweProbeResultFailure, _impl_.failure_)
      + sizeof(BweProbeResultFailure::_impl_.failure_)
      - PROTOBUF_FIELD_OFFSET(BweProbeResultFailure, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

AlrState::AlrState(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AlrState_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.AlrState)
}
AlrState::AlrState(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AlrState& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AlrState_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 AlrState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void AlrState::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, in_alr_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::in_alr_));
}
AlrState::~AlrState() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.AlrState)
  SharedDtor(*this);
}
inline void AlrState::SharedDtor(MessageLite& self) {
  AlrState& this_ = static_cast<AlrState&>(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 AlrState_class_data_ =
    AlrState::InternalGenerateClassData_(AlrState_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AlrState::GetClassData() const {
  return AlrState_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AlrState::GetClassData() const {
  return AlrState_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AlrState::ParseTableT_
    AlrState::_table_ =
        AlrState::InternalGenerateParseTable_(AlrState_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AlrState::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.AlrState)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.in_alr_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.in_alr_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bool in_alr = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_in_alr(), 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:webrtc.rtclog2.AlrState)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AlrState::ByteSizeLong(const MessageLite& base) {
  const AlrState& this_ = static_cast<const AlrState&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AlrState::ByteSizeLong() const {
  const AlrState& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.AlrState)
  ::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];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
   {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  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 AlrState::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AlrState*>(&to_msg);
  auto& from = static_cast<const AlrState&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.AlrState)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.in_alr_ = from._impl_.in_alr_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AlrState::InternalSwap(AlrState* 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(AlrState, _impl_.in_alr_)
      + sizeof(AlrState::_impl_.in_alr_)
      - PROTOBUF_FIELD_OFFSET(AlrState, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

IceCandidatePairConfig::IceCandidatePairConfig(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IceCandidatePairConfig_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.IceCandidatePairConfig)
}
IceCandidatePairConfig::IceCandidatePairConfig(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IceCandidatePairConfig& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IceCandidatePairConfig_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 IceCandidatePairConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void IceCandidatePairConfig::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, candidate_pair_protocol_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::candidate_pair_protocol_));
}
IceCandidatePairConfig::~IceCandidatePairConfig() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.IceCandidatePairConfig)
  SharedDtor(*this);
}
inline void IceCandidatePairConfig::SharedDtor(MessageLite& self) {
  IceCandidatePairConfig& this_ = static_cast<IceCandidatePairConfig&>(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 IceCandidatePairConfig_class_data_ =
    IceCandidatePairConfig::InternalGenerateClassData_(IceCandidatePairConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IceCandidatePairConfig::GetClassData() const {
  return IceCandidatePairConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IceCandidatePairConfig::GetClassData() const {
  return IceCandidatePairConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IceCandidatePairConfig::ParseTableT_
    IceCandidatePairConfig::_table_ =
        IceCandidatePairConfig::InternalGenerateParseTable_(IceCandidatePairConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IceCandidatePairConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.IceCandidatePairConfig)
  ::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, 0x000000ffU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.remote_candidate_type_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.remote_candidate_type_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    ::memset(&_impl_.remote_address_family_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.candidate_pair_protocol_) -
        reinterpret_cast<char*>(&_impl_.remote_address_family_)) + sizeof(_impl_.candidate_pair_protocol_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidatePairConfigType config_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_config_type(), target);
  }

  // optional uint32 candidate_pair_id = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_candidate_pair_id(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType local_candidate_type = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_local_candidate_type(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol local_relay_protocol = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_local_relay_protocol(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.NetworkType local_network_type = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_local_network_type(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily local_address_family = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_local_address_family(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType remote_candidate_type = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_remote_candidate_type(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily remote_address_family = 9;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this_._internal_remote_address_family(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol candidate_pair_protocol = 10;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this_._internal_candidate_pair_protocol(), 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:webrtc.rtclog2.IceCandidatePairConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t IceCandidatePairConfig::ByteSizeLong(const MessageLite& base) {
  const IceCandidatePairConfig& this_ = static_cast<const IceCandidatePairConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t IceCandidatePairConfig::ByteSizeLong() const {
  const IceCandidatePairConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.IceCandidatePairConfig)
  ::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, 0x000000ffU)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidatePairConfigType config_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_config_type());
    }
    // optional uint32 candidate_pair_id = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_candidate_pair_id());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType local_candidate_type = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_local_candidate_type());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol local_relay_protocol = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_local_relay_protocol());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.NetworkType local_network_type = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_local_network_type());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily local_address_family = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_local_address_family());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.IceCandidateType remote_candidate_type = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_remote_candidate_type());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    // optional .webrtc.rtclog2.IceCandidatePairConfig.AddressFamily remote_address_family = 9;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_remote_address_family());
    }
    // optional .webrtc.rtclog2.IceCandidatePairConfig.Protocol candidate_pair_protocol = 10;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_candidate_pair_protocol());
    }
  }
  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 IceCandidatePairConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IceCandidatePairConfig*>(&to_msg);
  auto& from = static_cast<const IceCandidatePairConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.IceCandidatePairConfig)
  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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.config_type_ = from._impl_.config_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.candidate_pair_id_ = from._impl_.candidate_pair_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.local_candidate_type_ = from._impl_.local_candidate_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.local_relay_protocol_ = from._impl_.local_relay_protocol_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.local_network_type_ = from._impl_.local_network_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.local_address_family_ = from._impl_.local_address_family_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.remote_candidate_type_ = from._impl_.remote_candidate_type_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.remote_address_family_ = from._impl_.remote_address_family_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.candidate_pair_protocol_ = from._impl_.candidate_pair_protocol_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IceCandidatePairConfig::InternalSwap(IceCandidatePairConfig* 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(IceCandidatePairConfig, _impl_.candidate_pair_protocol_)
      + sizeof(IceCandidatePairConfig::_impl_.candidate_pair_protocol_)
      - PROTOBUF_FIELD_OFFSET(IceCandidatePairConfig, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

IceCandidatePairEvent::IceCandidatePairEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IceCandidatePairEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.IceCandidatePairEvent)
}
IceCandidatePairEvent::IceCandidatePairEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IceCandidatePairEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IceCandidatePairEvent_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 IceCandidatePairEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void IceCandidatePairEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, transaction_id_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::transaction_id_));
}
IceCandidatePairEvent::~IceCandidatePairEvent() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.IceCandidatePairEvent)
  SharedDtor(*this);
}
inline void IceCandidatePairEvent::SharedDtor(MessageLite& self) {
  IceCandidatePairEvent& this_ = static_cast<IceCandidatePairEvent&>(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 IceCandidatePairEvent_class_data_ =
    IceCandidatePairEvent::InternalGenerateClassData_(IceCandidatePairEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IceCandidatePairEvent::GetClassData() const {
  return IceCandidatePairEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IceCandidatePairEvent::GetClassData() const {
  return IceCandidatePairEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IceCandidatePairEvent::ParseTableT_
    IceCandidatePairEvent::_table_ =
        IceCandidatePairEvent::InternalGenerateParseTable_(IceCandidatePairEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IceCandidatePairEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.IceCandidatePairEvent)
  ::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, 0x0000000fU)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.transaction_id_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.transaction_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional .webrtc.rtclog2.IceCandidatePairEvent.IceCandidatePairEventType event_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_event_type(), target);
  }

  // optional uint32 candidate_pair_id = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_candidate_pair_id(), target);
  }

  // optional uint32 transaction_id = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_transaction_id(), 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:webrtc.rtclog2.IceCandidatePairEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t IceCandidatePairEvent::ByteSizeLong(const MessageLite& base) {
  const IceCandidatePairEvent& this_ = static_cast<const IceCandidatePairEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t IceCandidatePairEvent::ByteSizeLong() const {
  const IceCandidatePairEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.IceCandidatePairEvent)
  ::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, 0x0000000fU)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional .webrtc.rtclog2.IceCandidatePairEvent.IceCandidatePairEventType event_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_event_type());
    }
    // optional uint32 candidate_pair_id = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_candidate_pair_id());
    }
    // optional uint32 transaction_id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_transaction_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 IceCandidatePairEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IceCandidatePairEvent*>(&to_msg);
  auto& from = static_cast<const IceCandidatePairEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.IceCandidatePairEvent)
  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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.event_type_ = from._impl_.event_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.candidate_pair_id_ = from._impl_.candidate_pair_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.transaction_id_ = from._impl_.transaction_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IceCandidatePairEvent::InternalSwap(IceCandidatePairEvent* 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(IceCandidatePairEvent, _impl_.transaction_id_)
      + sizeof(IceCandidatePairEvent::_impl_.transaction_id_)
      - PROTOBUF_FIELD_OFFSET(IceCandidatePairEvent, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

DtlsTransportStateEvent::DtlsTransportStateEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DtlsTransportStateEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.DtlsTransportStateEvent)
}
DtlsTransportStateEvent::DtlsTransportStateEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DtlsTransportStateEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DtlsTransportStateEvent_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 DtlsTransportStateEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void DtlsTransportStateEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, dtls_transport_state_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::dtls_transport_state_));
}
DtlsTransportStateEvent::~DtlsTransportStateEvent() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.DtlsTransportStateEvent)
  SharedDtor(*this);
}
inline void DtlsTransportStateEvent::SharedDtor(MessageLite& self) {
  DtlsTransportStateEvent& this_ = static_cast<DtlsTransportStateEvent&>(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 DtlsTransportStateEvent_class_data_ =
    DtlsTransportStateEvent::InternalGenerateClassData_(DtlsTransportStateEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DtlsTransportStateEvent::GetClassData() const {
  return DtlsTransportStateEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DtlsTransportStateEvent::GetClassData() const {
  return DtlsTransportStateEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DtlsTransportStateEvent::ParseTableT_
    DtlsTransportStateEvent::_table_ =
        DtlsTransportStateEvent::InternalGenerateParseTable_(DtlsTransportStateEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DtlsTransportStateEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.DtlsTransportStateEvent)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.dtls_transport_state_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.dtls_transport_state_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional .webrtc.rtclog2.DtlsTransportStateEvent.DtlsTransportState dtls_transport_state = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_dtls_transport_state(), 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:webrtc.rtclog2.DtlsTransportStateEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DtlsTransportStateEvent::ByteSizeLong(const MessageLite& base) {
  const DtlsTransportStateEvent& this_ = static_cast<const DtlsTransportStateEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DtlsTransportStateEvent::ByteSizeLong() const {
  const DtlsTransportStateEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.DtlsTransportStateEvent)
  ::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)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional .webrtc.rtclog2.DtlsTransportStateEvent.DtlsTransportState dtls_transport_state = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_dtls_transport_state());
    }
  }
  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 DtlsTransportStateEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DtlsTransportStateEvent*>(&to_msg);
  auto& from = static_cast<const DtlsTransportStateEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.DtlsTransportStateEvent)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.dtls_transport_state_ = from._impl_.dtls_transport_state_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DtlsTransportStateEvent::InternalSwap(DtlsTransportStateEvent* 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(DtlsTransportStateEvent, _impl_.dtls_transport_state_)
      + sizeof(DtlsTransportStateEvent::_impl_.dtls_transport_state_)
      - PROTOBUF_FIELD_OFFSET(DtlsTransportStateEvent, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

DtlsWritableState::DtlsWritableState(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DtlsWritableState_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.DtlsWritableState)
}
DtlsWritableState::DtlsWritableState(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DtlsWritableState& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DtlsWritableState_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 DtlsWritableState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void DtlsWritableState::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, writable_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::writable_));
}
DtlsWritableState::~DtlsWritableState() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.DtlsWritableState)
  SharedDtor(*this);
}
inline void DtlsWritableState::SharedDtor(MessageLite& self) {
  DtlsWritableState& this_ = static_cast<DtlsWritableState&>(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 DtlsWritableState_class_data_ =
    DtlsWritableState::InternalGenerateClassData_(DtlsWritableState_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DtlsWritableState::GetClassData() const {
  return DtlsWritableState_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DtlsWritableState::GetClassData() const {
  return DtlsWritableState_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DtlsWritableState::ParseTableT_
    DtlsWritableState::_table_ =
        DtlsWritableState::InternalGenerateParseTable_(DtlsWritableState_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DtlsWritableState::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.DtlsWritableState)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.writable_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.writable_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bool writable = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_writable(), 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:webrtc.rtclog2.DtlsWritableState)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DtlsWritableState::ByteSizeLong(const MessageLite& base) {
  const DtlsWritableState& this_ = static_cast<const DtlsWritableState&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DtlsWritableState::ByteSizeLong() const {
  const DtlsWritableState& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.DtlsWritableState)
  ::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];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
   {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  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 DtlsWritableState::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DtlsWritableState*>(&to_msg);
  auto& from = static_cast<const DtlsWritableState&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.DtlsWritableState)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.writable_ = from._impl_.writable_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DtlsWritableState::InternalSwap(DtlsWritableState* 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(DtlsWritableState, _impl_.writable_)
      + sizeof(DtlsWritableState::_impl_.writable_)
      - PROTOBUF_FIELD_OFFSET(DtlsWritableState, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

RouteChange::RouteChange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RouteChange_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:webrtc.rtclog2.RouteChange)
}
RouteChange::RouteChange(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RouteChange& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RouteChange_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 RouteChange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void RouteChange::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, overhead_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::overhead_));
}
RouteChange::~RouteChange() {
  // @@protoc_insertion_point(destructor:webrtc.rtclog2.RouteChange)
  SharedDtor(*this);
}
inline void RouteChange::SharedDtor(MessageLite& self) {
  RouteChange& this_ = static_cast<RouteChange&>(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 RouteChange_class_data_ =
    RouteChange::InternalGenerateClassData_(RouteChange_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RouteChange::GetClassData() const {
  return RouteChange_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RouteChange::GetClassData() const {
  return RouteChange_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const RouteChange::ParseTableT_
    RouteChange::_table_ =
        RouteChange::InternalGenerateParseTable_(RouteChange_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void RouteChange::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.RouteChange)
  ::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)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.overhead_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.overhead_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional bool connected = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_connected(), target);
  }

  // optional uint32 overhead = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_overhead(), 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:webrtc.rtclog2.RouteChange)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t RouteChange::ByteSizeLong(const MessageLite& base) {
  const RouteChange& this_ = static_cast<const RouteChange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t RouteChange::ByteSizeLong() const {
  const RouteChange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.RouteChange)
  ::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];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000005U)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 overhead = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_overhead());
    }
  }
  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 RouteChange::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<RouteChange*>(&to_msg);
  auto& from = static_cast<const RouteChange&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.RouteChange)
  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->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.connected_ = from._impl_.connected_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.overhead_ = from._impl_.overhead_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void RouteChange::InternalSwap(RouteChange* 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(RouteChange, _impl_.overhead_)
      + sizeof(RouteChange::_impl_.overhead_)
      - PROTOBUF_FIELD_OFFSET(RouteChange, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  RemoteEstimates* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, timestamp_ms_),
           offsetof(Impl_, number_of_deltas_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::number_of_deltas_));

  // @@protoc_insertion_point(copy_constructor:webrtc.rtclog2.RemoteEstimates)
}
PROTOBUF_NDEBUG_INLINE RemoteEstimates::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        timestamp_ms_deltas_(arena),
        link_capacity_lower_kbps_deltas_(arena),
        link_capacity_upper_kbps_deltas_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite RemoteEstimates_class_data_ =
    RemoteEstimates::InternalGenerateClassData_(RemoteEstimates_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RemoteEstimates::GetClassData() const {
  return RemoteEstimates_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RemoteEstimates::GetClassData() const {
  return RemoteEstimates_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const RemoteEstimates::ParseTableT_
    RemoteEstimates::_table_ =
        RemoteEstimates::InternalGenerateParseTable_(RemoteEstimates_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void RemoteEstimates::Clear() {
// @@protoc_insertion_point(message_clear_start:webrtc.rtclog2.RemoteEstimates)
  ::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_.timestamp_ms_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.link_capacity_lower_kbps_deltas_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.link_capacity_upper_kbps_deltas_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_deltas_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.number_of_deltas_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint32 link_capacity_lower_kbps = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_link_capacity_lower_kbps(), target);
  }

  // optional uint32 link_capacity_upper_kbps = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_link_capacity_upper_kbps(), target);
  }

  // optional uint32 number_of_deltas = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_number_of_deltas(), target);
  }

  // optional bytes timestamp_ms_deltas = 101;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_timestamp_ms_deltas();
    target = stream->WriteBytesMaybeAliased(101, _s, target);
  }

  // optional bytes link_capacity_lower_kbps_deltas = 102;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_link_capacity_lower_kbps_deltas();
    target = stream->WriteBytesMaybeAliased(102, _s, target);
  }

  // optional bytes link_capacity_upper_kbps_deltas = 103;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_link_capacity_upper_kbps_deltas();
    target = stream->WriteBytesMaybeAliased(103, _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:webrtc.rtclog2.RemoteEstimates)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t RemoteEstimates::ByteSizeLong(const MessageLite& base) {
  const RemoteEstimates& this_ = static_cast<const RemoteEstimates&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t RemoteEstimates::ByteSizeLong() const {
  const RemoteEstimates& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:webrtc.rtclog2.RemoteEstimates)
  ::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, 0x0000007fU)) {
    // optional bytes timestamp_ms_deltas = 101;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_timestamp_ms_deltas());
    }
    // optional bytes link_capacity_lower_kbps_deltas = 102;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_link_capacity_lower_kbps_deltas());
    }
    // optional bytes link_capacity_upper_kbps_deltas = 103;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_link_capacity_upper_kbps_deltas());
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint32 link_capacity_lower_kbps = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_link_capacity_lower_kbps());
    }
    // optional uint32 link_capacity_upper_kbps = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_link_capacity_upper_kbps());
    }
    // optional uint32 number_of_deltas = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_number_of_deltas());
    }
  }
  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 RemoteEstimates::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<RemoteEstimates*>(&to_msg);
  auto& from = static_cast<const RemoteEstimates&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:webrtc.rtclog2.RemoteEstimates)
  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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_timestamp_ms_deltas(from._internal_timestamp_ms_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_link_capacity_lower_kbps_deltas(from._internal_link_capacity_lower_kbps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_link_capacity_upper_kbps_deltas(from._internal_link_capacity_upper_kbps_deltas());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.link_capacity_lower_kbps_ = from._impl_.link_capacity_lower_kbps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.link_capacity_upper_kbps_ = from._impl_.link_capacity_upper_kbps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.number_of_deltas_ = from._impl_.number_of_deltas_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void RemoteEstimates::InternalSwap(RemoteEstimates* 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_.timestamp_ms_deltas_, &other->_impl_.timestamp_ms_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.link_capacity_lower_kbps_deltas_, &other->_impl_.link_capacity_lower_kbps_deltas_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.link_capacity_upper_kbps_deltas_, &other->_impl_.link_capacity_upper_kbps_deltas_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.number_of_deltas_)
      + sizeof(RemoteEstimates::_impl_.number_of_deltas_)
      - PROTOBUF_FIELD_OFFSET(RemoteEstimates, _impl_.timestamp_ms_)>(
          reinterpret_cast<char*>(&_impl_.timestamp_ms_),
          reinterpret_cast<char*>(&other->_impl_.timestamp_ms_));
}

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